为什么我会收到“错误套接字挂断”响应?

Wid*_*ada 7 request node.js npm express

我试图抓取一个网站。我正在使用库https://github.com/request/request,但出现此错误:

Error: socket hang up
    at createHangUpError (http.js:1476:15)
    at Socket.socketOnEnd (http.js:1572:23)
    at Socket.g (events.js:180:16)
    at Socket.emit (events.js:117:20)
    at _stream_readable.js:943:16
    at process._tickDomainCallback (node.js:463:13) +0ms
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?我也尝试重新安装该软件包,但我遇到了同样的错误......感谢帮助。

caz*_*eto 10

我最近遇到这个socket hang up问题。我研究了几天,直到找到适合我的解决方案。所以,也许这会有所帮助。

在创建 http 客户端时添加http(s)Agent属性对我有用。keepAlive: true下面是它可能的样子的示例:

const http = require('http')
http.request({
        method: 'GET',
        agent: http.Agent({keepAlive:true}),
        host: 'www.google.com',
    })
Run Code Online (Sandbox Code Playgroud)

该属性负责管理客户端 http 连接的套接字。可以在此处找到使用此属性的理由。

我还在 stackoverflow 上找到了一个也涵盖这个主题的答案,在这里

所以,我希望这会有所帮助。