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
Nov 25 PHP
PHP获取网卡地址的代码
Apr 09 PHP
在PHP中养成7个面向对象的好习惯
Jan 28 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
PHP中isset()和unset()函数的用法小结
Mar 11 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
php使用redis的几种常见操作方式和用法示例
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
js程序中美元符号$是什么
2008/06/05 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
js实现图片实时时钟
2020/01/15 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
python多线程用法实例详解
2015/01/15 Python
python字符串对其居中显示的方法
2015/07/11 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
python 动态调用函数实例解析
2019/10/21 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
经典演讲稿范文
2013/12/30 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
会计求职自荐信
2015/03/26 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis