php curl获取网页内容(IPV6下超时)的解决办法


Posted in PHP onJuly 16, 2013

原因:
在程序中我对curl获取内容都作了较为严格的超时限制,所以就会造成无法获取内容的问题。

解决方法:设置默认访问为ipv4。
php的curl设置方法如下:

<?php
/**
* IPV6下curl超时问题
*/
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
//设置curl默认访问为IPv4
if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')){
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
}
//设置curl请求连接时的最长秒数,如果设置为0,则无限
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//设置curl总执行动作的最长秒数,如果设置为0,则无限
curl_setopt ($ch, CURLOPT_TIMEOUT,$timeout*3);
$file_contents = curl_exec($ch);
curl_close($ch);

注:curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4) 只有在php版本5.3及以上版本,curl版本7.10.8及以上版本时,以上设置才生效。
PHP 相关文章推荐
PHP Token(令牌)设计
Mar 15 PHP
php minixml详解
Jul 19 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
PHP输出时间差函数代码
Jan 28 PHP
php实现的返回数据格式化类实例
Sep 22 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
Laravel5中contracts详解
Mar 02 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
java解析json方法总结
May 16 PHP
PHP生成图表pChart的示例解析
Jul 31 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
Jul 15 #PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 #PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 #PHP
PHP 转义使用详解
Jul 15 #PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 #PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 #PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 #PHP
You might like
php5.3 goto函数介绍和示例
2014/03/21 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
php微信开发之谷歌测距
2018/06/14 PHP
PDO::exec讲解
2019/01/28 PHP
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
ionic3 懒加载
2017/08/16 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
Python实现修改IE注册表功能示例
2018/05/10 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
flask 实现token机制的示例代码
2019/11/07 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
Python 实现进度条的六种方式
2021/01/06 Python
南京青奥会口号
2014/06/12 职场文书
食品安全演讲稿
2014/09/01 职场文书
干部作风建设工作总结
2014/10/29 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
世界遗产导游词
2015/02/13 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
入党自传范文2015
2015/06/26 职场文书
Python中22个万用公式的小结
2021/07/21 Python
OpenCV实现常见的四种图像几何变换
2022/04/01 Python