当前位置: 首页 > 面试题库 >

请求期间出现“套接字挂断”错误

仉明知
2023-03-14
问题内容

我尝试通过node.js版本0.8.14的http模块向某个站点(不是我自己的站点)发出GET请求。这是我的代码(CoffeeScript):

options = 
        host: 'www.ya.ru'
        method: 'GET'
    req = http.request options, (res) ->
        output = ''
        console.log 'STATUS: ' + res.statusCode
        res.on 'data', (chunk) ->
            console.log 'A new chunk: ', chunk
            output += chunk

        res.on 'end', () ->
            console.log output
            console.log 'End GET Request'

    req.on 'error', (err) ->
        console.log 'Error: ', err
    req.end()

在此操作过程中,我收到以下错误:{[错误:套接字挂起]代码:“ ECONNRESET”}。如果我评论错误处理程序,则我的应用程序将完成,并显示以下错误:

events.js:48
    throw arguments[1]; // Unhandled 'error' event
    ^
Error: socket hang up
    at createHangUpError (http.js:1091:15)
    at Socket.onend (http.js:1154:27)
    at TCP.onread (net.js:363:26)

我尝试在互联网上找到解决方案,但仍然没有找到它们。如何解决这个问题?


问题答案:

我终于找到了问题,并找到了解决方案。问题是我使用代理服务器连接到Internet。这是工作代码:

options = 
    hostname: 'myproxy.ru'
    path: 'http://www.ya.ru'
    port: 3128
    headers: {
        Host: "www.ya.ru"
    }
req = http.request options, (res) ->
    output = ''
    console.log 'STATUS: ' + res.statusCode
    res.on 'data', (chunk) ->
        console.log 'A new chunk: ', chunk
        output += chunk

    res.on 'end', () ->
        console.log output
        console.log 'End GET Request'

req.on 'error', (err) ->
    console.log 'Error: ', err
req.end()

谢谢大家的帮助和建议!



 类似资料:
  • 问题内容: 当客户端仍在加载页面时刷新时,Node一直不停地退出我(因此套接字被终止,而我仍在处理请求)。错误: 我尝试附加到: 对象 (我正在使用Express)的返回值 我的返回值,和方法。 但是,我似乎无法捕捉到该错误。它仍然被抛出,我的错误处理程序都没有反应。我可能会缺少什么? 问题答案: 将错误侦听器附加到套接字对象

  • 问题内容: 我正在Node.js项目中工作,我希望node充当solr的代理 对于代理:我使用了Node-http-proxy。问题是代理在获取请求的情况下表现出色,但在发布请求的情况下,导致套接字挂起异常 这是我的节点代码的示例 这是一段时间后在节点控制台中的错误 关于问题原因的任何建议 问题答案: 我认为问题出在中间件的顺序上。在httpProxy之前使用bodyParser会破坏带有JSON

  • spring mvc中是否有注释或其他内容,允许我在客户端关闭连接或以任何方式取消请求时调用某些内容?我得到了一个rest服务,通常速度很快,但可以依赖于用户输入几秒钟。我想在客户端断开连接后立即取消服务器端的处理。 我可以实现一些客户端必须不时轮询才能获得结果的功能,但我想在客户端关闭浏览器时取消该过程,例如,或者只是取消一个curl请求。这里有Spring钩吗?

  • 问题内容: 我有一组具有保持活动状态的TCP套接字(间隔1分钟),由 循环(选择读取)控制。 如果集合中的一个套接字发生了保持活动超时,是否会返回错误? 哪个错误会返回? 问题答案: 如果为其选择的其中一个套接字发出了错误信号,则它本身不会返回错误。[实际上,API无法以这种方式指示每个套接字的错误,因为两个不同的套接字可能在的一次调用中就各自获取挂起的错误。哪一个会回来?] 在循环的每次迭代之后

  • 最初,我的活动调用新的DropboxApi(令牌)。执行() 带有令牌。 在调试中,代码在返回uri之前可以正常工作。。也就是说: https://api.dropbox.com/1/account/info?oauth_consumer_key=2f2y1dyuqhp58ek 这是我第一次提出超文本传输协议请求...

  • 问题内容: 给定具有实验HTTP2支持的最新版本的Node.js: HTTP2服务器: 并对此提出了要求: 它只是挂起并最终说: 如果设置,则错误: 不知道出了什么问题以及为什么到了日志记录的地步。 如果我进入浏览器并访问https:// localhost:8443 ,然后单击警告消息,则它实际上会记录并成功发出请求。但是尚未能够使节点发出请求。 我想将其视为HTTP1服务器,因此不想使用HTT