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
第三节--定义一个类
Nov 16 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
smarty简单入门实例
Nov 28 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
php结合ACCESS的跨库查询功能
Jun 12 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
Feb 06 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 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
PHP类继承 extends使用介绍
2014/01/14 PHP
PHP写日志的实现方法
2014/11/05 PHP
jquery tools系列 expose 学习
2009/09/06 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
python显示生日是星期几的方法
2015/05/27 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
python实现机器人行走效果
2018/01/29 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
python实现扫雷小游戏
2020/04/24 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
飞利浦法国官网:Philips法国
2019/07/10 全球购物
《画》教学反思
2014/04/14 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android