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.MVC的模板标签系统(五)
Sep 05 PHP
SSI指令
Nov 25 PHP
java EJB 加密与解密原理的一个例子
Jan 11 PHP
一些使用频率比较高的php函数
Oct 03 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
基于Zend的Captcha机制的应用
May 02 PHP
PHP类的反射用法实例
Nov 03 PHP
php调用shell的方法
Nov 05 PHP
YII使用url组件美化管理的方法
Dec 28 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
php微信开发之自定义菜单实现
Nov 18 PHP
PHP调用接口用post方法传送json数据的实例
May 31 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
深入php之规范编程命名小结
2013/05/15 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
PHP错误处理函数
2016/04/03 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
sublime text 3配置使用python操作方法
2017/06/11 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
python实现猜数字游戏
2020/03/25 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
《猴子种树》教学反思
2014/02/14 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
检讨书大全
2015/01/27 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
2015年中秋寄语
2015/07/31 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书