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数组总结篇(一)
Sep 30 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
Oct 23 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
跟我学Laravel之请求与输入
Oct 15 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
php单例模式的简单实现方法
Jun 10 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
php 将json格式数据转换成数组的方法
Aug 21 PHP
php 读取文件夹下所有图片、文件的实例
Oct 17 PHP
php引用和拷贝的区别知识点总结
Sep 23 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/06/08 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
wordpress之js库集合研究介绍
2007/08/17 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
Python编写检测数据库SA用户的方法
2014/07/11 Python
python中MySQLdb模块用法实例
2014/11/10 Python
Python中的自省(反射)详解
2015/06/02 Python
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
python命令 -u参数用法解析
2019/10/24 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
研究生求职推荐信范文
2013/11/30 职场文书
幼教毕业生自我鉴定
2014/01/12 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
保护环境倡议书500字
2014/05/19 职场文书
学前教育专业求职信
2014/09/02 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
python turtle绘图命令及案例
2021/11/23 Python