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

首頁 > 開發 > PHP > 正文

php解決ipv6使curl獲取網頁內容超時解決辦法

2024-05-04 21:48:04
字體:
來源:轉載
供稿:網友

問題原因:如果開啟了IPv6,curl默認會優先解析 IPv6,在對應域名沒有 IPv6 的情況下,會等待 IPv6 dns解析失敗 timeout 之后才按以前的正常流程去找 IPv4,在程序中我對curl獲取內容都作了較為嚴格的超時限制,所以就會造成無法獲取內容的問題.

解決的方法是設置默認訪問為ipv4,php的curl設置方法具體如下:

  1. $ch = curl_init(); 
  2. curl_setopt ($ch, CURLOPT_URL, $url); 
  3. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
  4. //設置curl默認訪問為IPv4 
  5. if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')){ 
  6.       curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
  7.  
  8. //設置curl請求連接時的最長秒數,如果設置為0,則無限 
  9. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
  10. //設置curl總執行動作的最長秒數,如果設置為0,則無限 
  11. curl_setopt ($ch, CURLOPT_TIMEOUT,$timeout*3); 
  12. $file_contents = curl_exec($ch); 
  13. curl_close($ch); 

注:curl_setopt($ch, CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4) 只有在php版本5.3及以上版本,curl版本7.10.8及以上版本時,以上設置才生效.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华安县| 信阳市| 乌兰浩特市| 英德市| 越西县| 始兴县| 法库县| 若尔盖县| 黎平县| 万盛区| 会理县| 资兴市| 耒阳市| 茂名市| 庄河市| 苍溪县| 彭山县| 涟源市| 黄大仙区| 房产| 竹溪县| 三河市| 文登市| 攀枝花市| 汉沽区| 龙门县| 高要市| 拜城县| 突泉县| 南京市| 通河县| 固阳县| 顺平县| 伽师县| 东阳市| 彭山县| 观塘区| 沂源县| 潜江市| 蒲江县| 和平县|