php curl获取网页内容(IPV6下超时)的解决办法
2013-07-16 00:00
197 查看
原因:
在程序中我对curl获取内容都作了较为严格的超时限制,所以就会造成无法获取内容的问题。
解决方法:设置默认访问为ipv4。
php的curl设置方法如下:
注:curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4) 只有在php版本5.3及以上版本,curl版本7.10.8及以上版本时,以上设置才生效。
在程序中我对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 curl获取网页内容(IPV6下超时)的解决办法
- c#远程获取网页内容及乱码问题的解决办法
- android webview获取网页内容,高版本api解决办法
- 获取网页内容高度和宽度(不包括滚动条)兼容性JS解决办法
- c#远程获取网页内容及乱码问题的解决办法 .
- c#远程获取网页内容及乱码问题的解决办法 .
- C#获取网页内容,解决大部分乱码问题
- file_get_contents获取不到网页内容的解决方法
- 使用CInternetSession 获取网页内容。。。解决了ReadString时的乱码
- Win10下ie浏览器打开网页内容显示不全的原因及解决办法
- 使用Jsoup获取网页内容超时设置
- 解决办法之“超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小 ”
- 关于获取DIV内部内容报错的原因分析及解决办法
- 关于获取DIV内部内容报错的原因分析及解决办法
- 微信网页outh2获取code返回Oops! Something went wrong的解决办法
- UEditor不能获取文章内容的解决办法
- 路径浏览器举例说明android编程中获取不到指定文件夹中的内容的原因及解决办法
- Cornerstone log 获取不到,超时,解决办法
- 使用CInternetSession 获取网页内容。。。解决了ReadString时的乱码
- file_get_contents获取不到网页内容的解决方法