cURL中的超时设置

Posted lele

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cURL中的超时设置相关的知识,希望对你有一定的参考价值。

访问HTTP方式很多,可以使用curl, socket, file_get_contents() 等方法。 
在访问http时,需要考虑超时的问题。

CURL访问HTTP:

CURL 是常用的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等。  
curl_setopt($ch, opt) 可以设置一些超时的设置,主要包括:    
① (重要) CURLOPT_TIMEOUT 设置cURL允许执行的最长秒数。      
② (重要) CURLOPT_TIMEOUT_MS 设置cURL允许执行的最长毫秒数。    
(在cURL 7.16.2中被加入。从php 5.2.3起可使用) 
③  CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则无限等待。 
④ CURLOPT_CONNECTTIMEOUT_MS 尝试连接等待的时间,以毫秒为单位。如果设置为0,则无限等待。  (在cURL 7.16.2中被加入。从PHP 5.2.3开始可用)  
⑤ CURLOPT_DNS_CACHE_TIMEOUT 设置在内存中保存DNS信息的时间,默认为120秒。 

以上是关于cURL中的超时设置的主要内容,如果未能解决你的问题,请参考以下文章

CURL超时时间设置

php使用curl设置超时的重要性

Linux下CURL设置请求超时时间

cURL 使页面永远加载,然后网关超时

C# 中的 httpClient 调用超时,而 cUrl 正在工作

Nginx服务优化设置连接超时