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

293
Views
No se pueden leer las propiedades de Nodejs indefinido (leyendo 'statusCode') usando cheerio

Estoy tratando de obtener el título de una página web para esta solicitud divertida y saludos. Estoy enfrentando este problema.

¿Alguien puede ayudarme a identificar el error que he hecho en mi código?

aquí está mi código

 var request = require("request"); var cheerio = require("cheerio"); jsonData = [ { Domain: "bar-n-ranch.com" }, { Domain: "barcelona-enabled.com" }, { Domain: "barefootamelia.com" }, { Domain: "barmranch.com" }, { Domain: "barnstablepatriot.com" }, { Domain: "barrieapartmentrentalsonline.com" }, { Domain: "basquehomes.com" }, { Domain: "bassmaster.com" }, { Domain: "basswoodresort.com" }, ]; function fetchTitle(url, onComplete = null) { request(url, function (error, response, body) { var output = url; // default to URL if (!error && response.statusCode === 200) { var $ = cheerio.load(body); console.log(`URL = ${url}`); var title = $("head > title").text().trim(); console.log(`Title = ${title}`); output = `[${title}] (${url})`; } else { console.log(`Error = ${error}, code = ${response.statusCode}`); } console.log(`output = ${output} \n\n`); if (onComplete) onComplete(output); }); } jsonData.forEach(function (table) { var tableName = table.Domain; var URL = "http://" + tableName; fetchTitle(URL); });

cuando paso un valor como fetchtitle("https://www.googlecom") funciona, pero recibo un error cuando intento hacer un bucle de datos JSON

seguimiento de la pila de errores ^

 TypeError: Cannot read properties of undefined (reading 'statusCode') at Request._callback (C:\1\naveen\Project\Final\scrap example\test.js:29:56) at self.callback (C:\1\naveen\Project\Final\scrap example\node_modules\request\request.js:185:22) at Request.emit (node:events:390:28) at Request.onRequestError (C:\1\naveen\Project\Final\scrap example\node_modules\request\request.js:877:8) at ClientRequest.emit (node:events:390:28) at Socket.socketErrorListener (node:_http_client:447:9) at Socket.emit (node:events:390:28) at emitErrorNT (node:internal/streams/destroy:157:8) at emitErrorCloseNT (node:internal/streams/destroy:122:3)

Muchas gracias por adelantado

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

A veces, cuando realiza un bucle a través de varias solicitudes en el servidor, hay posibilidades de que el socket se cuelgue (ocupado en alguna otra solicitud) o el servidor no puede poner en cola la solicitud, lo que puede dar como resultado que no se responda a la solicitud. La mejor solución para esto es que primero debe verificar el objeto de respuesta de la solicitud antes de acceder a las propiedades en él.

 if (!error && (response && response.statusCode) === 200) { var $ = cheerio.load(body); console.log(`URL = ${url}`); var title = $("head > title").text().trim(); console.log(`Title = ${title}`); output = `[${title}] (${url})`; } else { console.log(`Error = ${error}, code = ${response && response.statusCode}`); }
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!