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 相关文章推荐
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
php+ajax实现文章自动保存的方法
Dec 30 PHP
php创建多级目录的方法
Mar 24 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
Dec 25 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 PHP
laravel 实现用户登录注销并限制功能
Oct 24 PHP
Laravel 框架路由原理与路由访问实例分析
Apr 14 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
js form action动态修改方法
2008/11/04 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python入门之modf()方法的使用
2015/05/15 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
公交公司毕业生求职信
2014/02/15 职场文书
开业主持词
2014/03/21 职场文书
租房协议书范本
2014/04/09 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
退税申请报告怎么写
2015/05/18 职场文书