php curl 获取网页 php curl获取网页内容(IPV6下超时)的解决办法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

php curl 获取网页 php curl获取网页内容(IPV6下超时)的解决办法

  2021-03-18 我要评论
想了解php curl获取网页内容(IPV6下超时)的解决办法的相关内容吗,在本文为您仔细讲解php curl 获取网页的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:php,curl,获取网页,下面大家一起来学习吧。

原因:
在程序中我对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及以上版本时,以上设置才生效。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们