【问题标题】:Postman : socket hang up邮递员:socket挂断
【发布时间】:2017-11-09 15:02:32
【问题描述】:

我刚开始使用 Postman。执行收集运行程序时出现此错误“错误:套接字挂起”。我已经阅读了一些关于套接字挂断的帖子,其中提到了发送请求并且服务器端没有响应并且可能超时。如何在 Postman Collection Runner 中延长请求的时间长度?

【问题讨论】:

  • 单个请求/测试是否有效?
  • 不。它不工作。我正在发送一个文件(大小为 20kb 的图像)
  • 有同样的问题。我运行邮递员收集 100 次(使用不同的变量)并且 1-2 个请求因挂断而失败。
  • 您可以在设置中更改超时0以消除超时。但 Socket 挂起不是超时错误。我在表单帖子上遇到了同样的事情。
  • 我一整天都在执行一个发布请求,并且在 SOAP-UI 中仍然有效。不知道是什么导致了这个问题......

标签: sockets postman postman-collection-runner


【解决方案1】:

就我而言,我错误地使用了为我的 api 的 https 版本保留的端口。

例如,我应该使用 https://localhost:6211,但我使用的是 http://localhost:6211。

【讨论】:

    【解决方案2】:

    在我的例子中,在标题中添加“Content-length”参数就可以了。

    我的环境是

    苹果机: [终端命令:sw_vers] 产品名称:macOS 产品版本:12.0.1。 (蒙特雷) 构建版本:21A559

    mysql:
    [终端命令:mysql --version] x86_64 (Homebrew) 上的 macos11.6 版本 8.0.27

    阿帕奇: [终端命令:httpd -v] 服务器版本:Apache/2.4.48 (Unix) 服务器搭建时间:2021 年 10 月 1 日 20:08:18。

    *Laravel [终端命令:php artisan --version] Laravel 框架 8.76.2

    邮递员 版本 9.1.5 (9.1.5)

    【讨论】:

      【解决方案3】:

      在使用 POSTMAN 调用 SOAP API 时,我遇到了同样的问题 通过在标题中添加以下数据,我的问题得到了修复

      Key:Content-Length
      Value:<calculated when request is sent>
      

      【讨论】:

        【解决方案4】:

        我通过禁用 Postman 令牌标头解决了这个问题。截图:

        【讨论】:

          【解决方案5】:

          “Socket Hung Up”有时可能是本地问题,因为 %temp% 文件夹中的瓶颈,请尝试释放“temp”文件夹并尝试一下

          【讨论】:

            【解决方案6】:

            按照Abhay's answer:仔细检查方案。如果您使用http 调用https 端点,则受保护的服务器可能会断开连接。

            这发生在我使用本地证书调试在 localhost 上运行的 ASP.NET Core API 时。我花了一段时间才弄清楚,因为它是在 Postman 环境中,而且是星期一。

            【讨论】:

              【解决方案7】:

              可能有两件事同时发生。

              1. url 包含一个不常用的端口和
              2. 您使用的 VPN 或代理不支持该端口。

              我遇到了这个问题。我的服务器端口是 45860,我使用的是 pSiphon anti-filter VPN。在这种情况下,我的邮递员仅在服务器的回复是状态代码大于 0 的错误时才报告“连接挂起”。(当一些文本从服务器返回而没有错误代码时很好。)

              当我将服务器上的 Web 服务端口更改为 8080 时,哇,它成功了!即使 pSiphon VPN 已连接。

              【讨论】:

                【解决方案8】:

                我遇到了同样的问题:发送存储文件的请求时出现“错误:套接字挂起”,并且后端日志提到了您所描述的超时。就我而言,我使用的是 mongoDB,真正的问题是我的集合的数组容量已满。当我清除该集合中的文档时,错误被消除了。希望这会对面临类似情况的人有所帮助。

                【讨论】:

                  【解决方案9】:

                  套接字挂起错误可能是由于您尝试在邮递员中访问的API 的URL 错误。请仔细检查一下网址。

                  【讨论】:

                    【解决方案10】:

                    当客户端长时间等待响应时会发生这种情况 尝试从邮递员同步您的 API 请求

                    然后进行登录帖子,您就完成了

                    【讨论】:

                      【解决方案11】:

                      我刚刚遇到了同样的问题,我通过关闭我的 VPN 解决了​​这个问题。所以我想这是一个网络代理问题。您可以检查您是否开启了某些网络代理。

                      【讨论】:

                      • 谢谢你!我仍然经常忘记 VPN 是问题的根源! (当一个人在 IT 工作时)
                      【解决方案12】:

                      邮递员给出“无法得到响应”“错误:套接字挂起”。 我通过在我的请求中添加 Content-Length http 标头解决了这个问题

                      【讨论】:

                      • 谢谢,它对我有用。我从其他来源复制了请求,然后更改了我的 POST 请求中的有效负载数据。所以,内容长度不匹配。 :)
                      【解决方案13】:

                      您使用的是 nodemon 还是其他文件监视程序?就我而言,我正在生成一些本地文件,上传它们,然后将 URL 发送回我的用户。不幸的是,nodemon 会看到项目的“更改”,并在发送响应之前触发重新启动。我忽略了文件观察器中的构建目录并解决了这个问题。

                      这是关于忽略文件的 Nodemon 自述文件:https://github.com/remy/nodemon#ignoring-files

                      【讨论】:

                        【解决方案14】:

                        有时,当客户端等待响应很长时间时,此错误会上升。这可以使用202 (Accepted) Http 代码解决。这基本上意味着您将告诉服务器开始您希望它执行的工作,然后每隔某个时间段检查它是否已完成工作。

                        如果你是编写服务器的人,这相对容易实现。如果没有,请检查您正在使用的服务器的文档。

                        【讨论】:

                          【解决方案15】:

                          对我有帮助的是将 url 中的 'localhost' 替换为 http://127.0.0.1 或本地计算机分配给 localhost 的任何其他地址。

                          【讨论】:

                            【解决方案16】:

                            我通过断开我的 vpn 解决了这个问题。您应该检查是否连接了 vpn。

                            【讨论】:

                              【解决方案17】:

                              如果 Postman 在指定时间内没有得到响应,则会抛出错误“socket hang up”。

                              我正在执行以下操作以在集合中的每个场景之间实现 60 分钟的延迟:

                              get https://postman-echo.com/delay/10
                              pre request script :-
                              setTimeout(function(){}, [50000]);
                              

                              我将持续时间减少到 30 秒:

                              setTimeout(function(){}, [20000]);
                              

                              之后我不再收到此错误。

                              【讨论】:

                                【解决方案18】:

                                套接字挂起,错误是端口相关的错误。我在分享我的经验。当你使用同一个端口连接数据库时,哪个端口已经被其他服务使用,就会出现“Socket Hang up”错误。

                                例如:- 端口 6455 是一些其他服务或连接的专用端口。您不能使用相同的端口 (6455) 在同一台服务器上建立数据库连接。

                                【讨论】:

                                  【解决方案19】:

                                  “socket hang up”是代理相关的问题。当我们在 jenkins 的 newman 的帮助下运行相同的集合时,所有测试都通过了。 更改代理设置 https://docs.cloudfoundry.org/cf-cli/http-proxy.html

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 2021-11-07
                                    • 2018-01-16
                                    • 2017-10-20
                                    • 2019-12-21
                                    • 2019-07-27
                                    • 2020-08-14
                                    • 2021-08-14
                                    • 2019-05-12
                                    相关资源
                                    最近更新 更多