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数组中删除元素的实现代码
Jun 22 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
Jul 01 PHP
php中heredoc与nowdoc介绍
Dec 25 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
PHP中的Session对象如何使用
Sep 25 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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 网上商城促销设计实例代码
2012/02/17 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
php析构函数的简单使用说明
2015/08/24 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
ExtJS 入门
2010/10/29 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
python获取本地计算机名字的方法
2015/04/29 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
python实现扫描日志关键字的示例
2018/04/28 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
Django异步任务线程池实现原理
2019/12/17 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
中学生演讲稿
2014/04/26 职场文书
党务公开方案
2014/05/06 职场文书
关于读书的活动方案
2014/08/14 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
欠条格式范本
2015/07/03 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL