Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

391
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!