国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php curl高效獲取網頁內容(IPV6下超時的解決辦法)

2024-09-04 11:50:24
字體:
來源:轉載
供稿:網友

如果開啟了IPv6,curl默認會優先解析 IPv6,在對應domain域名沒有 IPv6 的情況下,會等待 IPv6 dns解析失敗 timeout 之后才按以前的正常流程去找 IPv4。

如果在程序中對curl獲取內容都作了較短時間的超時限制,如1秒,有時就會造成無法獲取內容的問題。

對于 PHP curl 來講,只需要加上下面一句即可解決延遲問題:

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

詳細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及以上版本時,以上設置才生效。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诸暨市| 北流市| 桦川县| 大兴区| 广昌县| 甘德县| 无极县| 巩留县| 贺州市| 固安县| 阜阳市| 贵德县| 博客| 盐山县| 凌海市| 原平市| 花莲市| 丽江市| 修文县| 岳池县| 遵义县| 桓仁| 上高县| 科尔| 修水县| 安徽省| 万源市| 涿鹿县| 新龙县| 密云县| 丽江市| 康定县| 岳阳市| 高要市| 荆州市| 平凉市| 乌兰县| 依安县| 昌乐县| 大方县| 水城县|