request模块遇到的 Error:socket hang up 问题
我的代码是这样的,很简单:
const url = 'http://www.scau.edu.cn/2018/0502/c1390a82119/page.htm'
request(url, function(error, response, body) {
if (error) {
console.error(error) // Error: socket hang up
}
// console.log(body)
})
控制台报错:
{ Error: socket hang up
at createHangUpError (_http_client.js:331:15)
at Socket.socketOnEnd (_http_client.js:423:23)
at emitNone (events.js:111:20)
at Socket.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1055:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9) code: 'ECONNR
ESET' }
这个url不能得到body,一般的都可以。 请问是什么原因呢,网上搜了很多但都没有找到具体的解决办法。
9 回复
请大神解惑。
我要怎样才能得到body?
request这么古董, 换axios吧, 并且要上promise啊, 回调函数不觉得难用吗
@xiaozhongliu 最近才看了《nodejs包教不包会》,虽然用过axios,对目前的新技术栈没有清楚了解,多谢指教。
同意3楼的说法,现在axios和fetch用得比较多
代码没问题,hang up 明显是服务端挂起请求了,与客户端无关。我试了下这个页面正常返回body
@royalrover 如果你用这个上面说“古老”的request模块去请求这个页面 而不是axios或fetch,会发现不能正常返回body。
@zhongshiji 用的就是request,返回一切正常,页面的html
这很奇怪。