邮递员:socket挂断

Posted

技术标签:

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

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

【问题讨论】:

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

可能有两件事同时发生。

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

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

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

【讨论】:

【参考方案8】:

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

【讨论】:

【参考方案9】:

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

【讨论】:

【参考方案10】:

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

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

【讨论】:

【参考方案11】:

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

【讨论】:

谢谢你!我仍然经常忘记 *** 是问题的根源! (当一个人在 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】:

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

【讨论】:

【参考方案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

【讨论】:

以上是关于邮递员:socket挂断的主要内容,如果未能解决你的问题,请参考以下文章

角度万能 | firebase 管理员 | code: 'app/invalid-credential' |socket 挂断

Nodejs Socket 挂断和 ECONNRESET - 从 Meteor 到 Node js 服务器的 HTTP 发布请求

socket通信的流程

Linux 的 Socket IO 模型

Socket.io Express Http-Server 后端,CORS 错误

Windows Socket I/O模型