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中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
Win下如何安装PHP的APC拓展
Aug 07 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
php数组转成json格式的方法
Mar 09 PHP
php解析字符串里所有URL地址的方法
Apr 03 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
php自动载入类用法实例分析
Jun 24 PHP
php生成图片缩略图功能示例
Feb 22 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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常用函数 推荐收藏保存
2010/02/21 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
jQuery 解析xml文件
2009/08/09 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
详解react-redux插件入门
2018/04/19 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
详解Vue的ref特性的使用
2020/01/24 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
python访问类中docstring注释的实现方法
2015/05/04 Python
python实现简单中文词频统计示例
2017/11/08 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
完美的中文自荐信
2014/05/24 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
先进个人推荐材料
2014/12/29 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python