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编程实现获取excel文档内容的代码实例
Jun 28 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
PHP常用的排序和查找算法
Aug 06 PHP
composer.lock文件的作用
Feb 03 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
PHP实现表单提交时去除斜杠的方法
Dec 26 PHP
详解PHP使用Redis存储session时的一个Warning定位
Jul 05 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 PHP
PHP 加密 Password Hashing API基础知识点
Mar 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安全的URL字符串base64编码和解码
2014/06/19 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
jquery 插件开发备注
2010/08/27 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
如何在pycharm中安装第三方包
2020/10/27 Python
Python实现粒子群算法的示例
2021/02/14 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
PHP开发工程师面试问题集锦
2012/11/01 面试题
nohup的用法
2012/11/26 面试题
工厂门卫岗位职责
2013/11/25 职场文书
高二生物教学反思
2014/01/27 职场文书
会计学自我鉴定
2014/02/06 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
兽医医药专业求职信
2014/07/27 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js