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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内江市| 加查县| 中方县| 鹰潭市| 东丰县| 六盘水市| 曲周县| 滨州市| 临夏市| 绥中县| 梅河口市| 额济纳旗| 平南县| 东辽县| 武冈市| 锡林郭勒盟| 万州区| 哈尔滨市| 福安市| 阳东县| 阳高县| 肇东市| 绥棱县| 元朗区| 澳门| 长沙市| 巍山| 和田县| 黔西| 马鞍山市| 鄯善县| 安义县| 沁水县| 汾西县| 桃源县| 南木林县| 茌平县| 新绛县| 新源县| 砚山县| 淮安市|