PHP请求远程地址设置超时时间的解决方法


Posted in PHP onOctober 29, 2016

php请求远程地址设置超时时间,主要讲解file_get_contents、fopen、curl这三个简单常用函数设置超时时间的方法,一般情况下建议使用curl,性能最好,效率也最高。

1、file_get_contents 请求超时设置

$timeout = array(
'http'=> array(
'timeout'=>5//设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
$text = file_get_contents("https://3water.com/",0, $ctx);

2、fopen 请求超时设置

$timeout = array(
'http' => array(
'timeout' => 5 //设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
if ($fp = fopen("https://3water.com/", "r", false, $ctx)) {
while( $c = fread($fp, 8192)) {
echo $c;
}
fclose($fp);
}

3、curl请求超时设置

CURL 是常用的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等。

curl_setopt($ch, opt) 可以设置一些超时的设置,主要包括:

a 、CURLOPT_TIMEOUT 设置cURL允许执行的最长秒数。

b、CURLOPT_TIMEOUT_MS 设置cURL允许执行的最长毫秒数。

c、 CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则无限等待。

d、 CURLOPT_CONNECTTIMEOUT_MS 尝试连接等待的时间,以毫秒为单位。如果设置为0,则无限等待。e、 CURLOPT_DNS_CACHE_TIMEOUT 设置在内存中保存DNS信息的时间,默认为120秒。

$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']);

以上就是小编为大家带来的PHP请求远程地址设置超时时间的解决方法全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
php中判断一个字符串包含另一个字符串的方法
Mar 19 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
浅析PHP微信支付通知的处理方式
May 25 PHP
php+ajax实现文章自动保存的方法
Dec 30 PHP
深入理解PHP内核(一)
Nov 10 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
php DES加密算法实例分析
Sep 18 PHP
浅谈php处理后端&接口访问超时的解决方法
Oct 29 #PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 #PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 #PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 #PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 #PHP
PHP创建多级目录的两种方法
Oct 28 #PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 #PHP
You might like
php 中英文语言转换类代码
2011/08/11 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
jQuery 操作XML入门
2008/12/25 Javascript
js表格分页实现代码
2009/09/18 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
简化vuex的状态管理方案的方法
2018/06/02 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
Python正则表达式常用函数总结
2017/06/24 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
python编写计算器功能
2019/10/25 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
《大海那边》教学反思
2014/04/09 职场文书
宝宝满月宴答谢词
2015/09/30 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python