国产探花免费观看_亚洲丰满少妇自慰呻吟_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及以上版本時,以上設置才生效。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台东县| 重庆市| 临夏市| 金寨县| 瑞安市| 聂荣县| 栾城县| 富顺县| 漯河市| 五华县| 杨浦区| 镶黄旗| 丰宁| 哈巴河县| 高邑县| 靖宇县| 西峡县| 封开县| 友谊县| 佳木斯市| 永丰县| 绥芬河市| 都匀市| 庐江县| 富阳市| 汽车| 星子县| 美姑县| 什邡市| 乌兰县| 郑州市| 遂川县| 兴化市| 新乡市| 元阳县| 绥德县| 汉源县| 漳平市| 精河县| 桐乡市| 阿克苏市|