php – CURL停止工作
我想从列表中搜索一些关于单词的链接.
它工作正常.但有时脚本会突然停止工作.我不知道为什么. 其实我的问题是,脚本在运行时突然停止. 解决方法: 尝试使用CURLOPT_LOW_SPEED_TIME选项和CURLOPT_LOW_SPEED_LIMIT
如果对于给定的超时,下载速率低于给定阈值,这将防止卷曲在慢速或死连接上“挂起”.达到超时后,您可以重试或跳过网址:
“停止工作”有几个原因.最简单的是,远程服务器在响应期间崩溃而不发送TCP FIN. (我在野外看过这个).因此,底层的TCP连接不会被关闭,curl会等待 – 永远 – 等待剩余的字节. 此外,在建立连接之后在传输期间阻止端口的防火墙规则可能是原因.不太可能,但也在野外看到. 我能想象的另一个原因是远程服务器计算错误的’Content-Length’HTTP头.与HTTP / 1.1的’Connection:keep-alive’一起,这可能会使curl’挂起’,同时等待永远不会发送的字节.为防止这种情况,您应该明确使用标题’Connection:close’.这可以按如下方式完成:
但是我的建议只是防止脚本挂起的解决方法.如果你想了解curl挂起的原因,你必须追踪网络流量.你可以使用Wireshark. (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用 VSTS 进行 CI 的过程中,无法识别 .NET Core 2.x 的情
- Java安全之Commons Collections2分析
- 【图像处理】使用OpenCV+Python进行图像处理入门教程(一)
- 为什么建议你使用枚举?
- java编程思想第四版第七章总结
- [GO]解决request origin not allowed by Upgrader.CheckOri
- go基于grpc构建微服务框架-集成opentracing
- php – 使用TCPDF生成的UTF-8 PDF在Adobe Acrobat中显示正
- php – 如何理解电子邮件地址是否是教育电子邮件地址?
- Python3 requests 请求 https 报错 [SSL: CERTIFICATE_VERI