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和AJAX创建RSS聚合器的代码
Mar 13 PHP
php5.5新数组函数array_column使用
Jul 08 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
PHP生成图片缩略图类示例
Jan 12 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
tp5 实现列表数据根据状态排序
Oct 18 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
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
关于vue里页面的缓存详解
2019/11/04 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python 类的继承实例详解
2017/03/25 Python
python 全局变量的import机制介绍
2017/09/07 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
数据库基础的一些面试题
2012/02/25 面试题
护理专科自荐书范文
2014/02/18 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
工作岗位职责范本
2015/02/15 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书