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 4.2书写安全的脚本
Oct 09 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
Php header()函数语法及使用代码
Nov 04 PHP
php查找字符串出现次数的方法
Dec 01 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 PHP
php用wangeditor3实现图片上传功能
Aug 22 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
tp5.1框架数据库子查询操作实例分析
May 26 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 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
第一节--面向对象编程
2006/11/16 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
php 生成短网址原理及代码
2014/01/23 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
JS实现的RC4加密算法示例
2018/08/16 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
vue子路由跳转实现tab选项卡
2019/07/24 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
德国家具折扣店:POCO
2020/02/28 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
房地产开盘策划方案
2014/02/10 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers