php接口超时如何处理
内容导读
收集整理的这篇技术教程文章主要介绍了php接口超时如何处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1170字,纯文字阅读大概需要2分钟。
内容图文
一般我们访问HTTP方式很多,主要是:curl, socket, file_get_contents() 等方法。如果碰到对方服务器一直没有响应的时候,我们就悲剧了,很容易把整个服务器搞死,所以在访问http的时候也需要考虑超时的问题。
[ CURL 访问HTTP]
CURL 是我们常用的一种比较靠谱的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等。(推荐学习:PHP编程从入门到精通)
还是让我们使用 cURL 扩展来处理超时控制吧
假如你想更精确的处理超时,就使用 cURL 扩展,它可以设置连接超时和读取超时(CURLOPT_TIMEOUTCURLOPT_CONNECTTIMEOUT)。
假如希望控制 HTTP 接口必须在毫秒级别返回,还可以使用 CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_M 常量。
注意假如使用这两个常量,必须设置 curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
神奇的来了,cURL 扩展机制很特别,在指定的读取时间获取到多少数据就返回多少,然后调用也终止,程序并不报错
通过代码看一下:
function e_curl() { global $url; $ch = curl_init($url); curl_setopt($ch, CURLOPT_NOSIGNAL, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 3); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); $response = curl_exec($ch); if ($response === false) { $info = curl_getinfo($ch); if ($info['http_code'] === 0) { return false; } } return true;}e_curl();
以上就是php接口超时如何处理的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php接口超时如何处理全部内容,希望文章能够帮你解决php接口超时如何处理所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。