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 和 MySQL 基础教程(二)
Oct 09 PHP
用PHP调用Oracle存储过程的方法
Sep 12 PHP
PHP 如何利用phpexcel导入数据库
Aug 24 PHP
在win7中搭建Linux+PHP 开发环境
Oct 08 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
php简单实现批量上传图片的方法
May 09 PHP
php parse_str() 函数的定义和用法
May 23 PHP
php Session无效分析资料整理
Nov 29 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
Python 装饰器使用详解
2017/07/29 Python
浅谈Django REST Framework限速
2017/12/12 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Python序列类型的打包和解包实例
2019/12/21 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
Python将字典转换为XML的方法
2020/08/01 Python
Python绘制组合图的示例
2020/09/18 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
《池塘边的叫声》教学反思
2014/04/12 职场文书
工地安全质量标语
2014/06/07 职场文书
运动会的口号
2014/06/09 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
责任书范本大全
2015/05/11 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
python实现股票历史数据可视化分析案例
2021/06/10 Python
总结高并发下Nginx性能如何优化
2021/11/01 Servers
深入理解go缓存库freecache的使用
2022/02/15 Golang
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS