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 相关文章推荐
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
thinkphp特殊标签用法概述
Nov 24 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
php之可变函数的实例详解
Sep 13 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
Oct 31 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 PHP
PHP isset()及empty()用法区别详解
Aug 29 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 04 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
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
php实现的短网址算法分享
2014/06/20 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
对于jQuery性能的一些优化建议
2015/08/13 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
Python输出9*9乘法表的方法
2015/05/25 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
Python中常用的os操作汇总
2020/11/05 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
J2EE面试题大全
2016/08/06 面试题
小学校园活动策划
2014/01/30 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
教师调动申请报告
2015/05/18 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书