Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

394
Visualizações
¿Puedo obtener el texto de respuesta http completo en nodejs desde un módulo http .get respuesta?

Tengo un servidor web muy simple:

 const ws = require('http'); ws.createServer( function(req,res) { console.log('request received'); res.write('Hello world'); res.end(); }) .listen(1234);

El servidor funciona. Cuando abro el navegador en localhost: 1234, aparece el texto Hello World. Cuando envío un GET a localhost:1234 desde el cliente REST, obtengo:

 HTTP/1.1 200 OK Date: Fri, 03 Dec 2021 20:10:12 GMT Connection: close Transfer-Encoding: chunked Hello world

Ahora, me gustaría escribir una prueba, pero tengo problemas para encontrar alguna forma de extraer el texto "Hola mundo" de la respuesta. Por el momento, mi código de prueba se ve así:

 const http = require('http'); let req = http.get('http://localhost:1234',(res)=>{ let txt = res.read(); console.log(txt); });

Esto siempre devuelve nulo.

También he intentado:

 const http = require('http'); let req = http.get('http://localhost:1234',(res)=>{ let data = []; res.on('data',(chunk)=>data.push(chunk)); console.log(data); });

Esto devuelve una matriz vacía.

Cuando depuro y observo el objeto res, es fácil encontrar todo en la respuesta (principalmente en res.headers), excepto el texto Hello World. He visto muchos ejemplos para extraer datos enviados en formato JSON, etc., pero quiero comenzar con el ejemplo más simple posible (solo texto sin formato) y parece que no puedo encontrar ninguna forma de hacerlo. Parece que todo lo que el navegador puede devolver debería estar disponible cuando envío un GET a través del módulo HTTP, pero no puedo encontrarlo.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Me las arreglé para averiguarlo. Especie de. Encontré algo que funciona, pero aún no entiendo completamente la mecánica.

Los siguientes trabajos y registros

Hola Mundo

a la consola

 const http = require('http'); let req = http.get('http://localhost:1234',async (res)=>{ res.on('readable', () => { let txt=res.read().toString(); console.log(txt); }); });

Parece que necesita escuchar el evento legible para obtener algo de read() y cuando lo hace, recupera el texto Hello world (sin embargo, como una matriz de Buffer, por lo que se necesita ToString()).

Del mismo modo, lo siguiente también funciona para el evento 'data':

 const http = require('http'); let req = http.get('http://localhost:1234',(res)=>{ let txt = ''; res.on('data',(chunk)=>{ txt+=chunk.toString(); console.log(txt); }); });

Tengo algunas preguntas de seguimiento, pero investigaré un poco más y volveré a preguntar en nuevas preguntas si no encuentro claridad.

about 4 years ago · Juan Pablo Isaza Relatório

0

puede leer la respuesta como json de esta manera:

archivo del servidor:

 const ws = require('http'); ws.createServer( (request, response) => { console.log('request received'); response.write('{"body": "Hello World !"}'); response.end(); } ).listen(1234);

Solicitar archivo:

 const http = require('http'); http.get('http://localhost:1234', (response) => { response.on("data", (chunk) => { body = JSON.parse(chunk).body console.log(body); // return 'Hello World !' as text }) }).on('error', function(e) { console.log("Error message : " + e.message); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda