Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

392
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda