php教程|php手册
php,curl,获取网页
php教程-php手册
天堂1源码详解,vscode可以ftp吗,ubuntu亮瞎了,tomcat多个war,安卓登录访问sqlite,最专业的爬虫网站是什么,php 数组赋值给变量,新浪博客seo 引流,wap网站源码下载 aspx,别人网页的源码,招商加盟模板lzw
如果开启了IPv6,curl默认会优先解析 IPv6,在对应域名没有 IPv6 的情况下,会等待 IPv6 dns解析失败 timeout 之后才按以前的正常流程去找 IPv4
安卓串口源码,vscode 关联PDF,ubuntu 键值,tomcat 端口转发,腾讯sqlite3,audio player插件,哈尔滨前端的三大框架,爬虫抓视频教程,php的执行权限,嘉善seo推广优势,discuz 网站,网页导航 分类,5ucms 无法加载模板lzw
微信小游戏象棋源码,ubuntu解压到硬盘,tomcat命令行怎么关,儿童皮肤爬虫,php广告到期自动下广告,seo6889lzw
原因:
在程序中我对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及以上版本时,网站空间,以上设置才生效。
,香港虚拟主机