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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
Apr 25 PHP
PHP 中文乱码解决办法总结分析
Jul 30 PHP
第四章 php数学运算
Dec 30 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 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 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
跟老齐学Python之做一个小游戏
2014/09/28 Python
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
python实现决策树分类(2)
2018/08/30 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
python代码区分大小写吗
2020/06/17 Python
如何验证python安装成功
2020/07/06 Python
python 操作excel表格的方法
2020/12/05 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
党员干部公开承诺书
2014/03/26 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
广播节目策划方案
2014/05/23 职场文书
老龄工作先进事迹
2014/08/15 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
就业推荐表院系意见
2015/06/05 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫