php之curl设置超时实例


Posted in PHP onNovember 03, 2014

本文实例讲述了php中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秒。
 
1. curl普通秒级超时:

$ch = curl_init();      

 curl_setopt($ch, CURLOPT_URL,$url);       

 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);       

 curl_setopt($ch, CURLOPT_TIMEOUT,60);   //只需要设置一个秒的数量就可以  

 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);       

 curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);

2. curl普通秒级超时使用:

curl_setopt($ch, CURLOPT_TIMEOUT,60);
 

3. curl如果需要进行毫秒超时,需要增加:

curl_easy_setopt(curl, CURLOPT_NOSIGNAL,1L);      

 //或者      

 curl_setopt ( $ch,  CURLOPT_NOSIGNAL,true);//支持毫秒级别超时设置

 
希望本文所述对大家的PHP程序设计有所帮助。
PHP 相关文章推荐
一个PHP日历程序
Dec 06 PHP
PHP 根据IP地址控制访问的代码
Apr 22 PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
Jan 07 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
php从csv文件读取数据并输出到网页的方法
Mar 14 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
详解php中serialize()和unserialize()函数
Jul 08 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 #PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 #PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 #PHP
php防止sql注入之过滤分页参数实例
Nov 03 #PHP
详解PHP导入导出CSV文件
Nov 03 #PHP
php实现图片文件与下载文件防盗链的方法
Nov 03 #PHP
php过滤表单提交的html等危险代码
Nov 03 #PHP
You might like
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
PDO::query讲解
2019/01/29 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
python3跳出一个循环的实例操作
2020/08/18 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
服务承诺书怎么写
2014/05/24 职场文书
应届大专生自荐书
2014/06/16 职场文书
学雷锋的心得体会
2014/09/04 职场文书
董事长助理岗位职责
2015/02/11 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
奠基仪式致辞
2015/07/30 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA