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 中的批处理的实现
Jun 14 PHP
某大型网络公司应聘时的笔试题目附答案
Mar 27 PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 PHP
PHP实现简单注册登录系统
Dec 28 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 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
ThinkPHP分页实例
2014/10/15 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
Python遍历目录的4种方法实例介绍
2015/04/13 Python
给Python入门者的一些编程建议
2015/06/15 Python
详解python的ORM中Pony用法
2018/02/09 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
Python语言进阶知识点总结
2019/05/28 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
python连接mysql有哪些方法
2020/06/24 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
上课说话检讨书大全
2014/01/22 职场文书
向领导表决心的话
2014/03/11 职场文书
一体化教学实施方案
2014/05/10 职场文书
教师节主持词开场白
2015/05/29 职场文书
军训新闻稿范文
2015/07/17 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
Node.js实现断点续传
2021/06/23 Javascript
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js