php curl獲取網(wǎng)頁內(nèi)容(IPV6下超時(shí))的解決辦法
原因:
在程序中我對(duì)curl獲取內(nèi)容都作了較為嚴(yán)格的超時(shí)限制,所以就會(huì)造成無法獲取內(nèi)容的問題。
解決方法:設(shè)置默認(rèn)訪問為ipv4。
php的curl設(shè)置方法如下:
<?php
/**
* IPV6下curl超時(shí)問題
*/
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
//設(shè)置curl默認(rèn)訪問為IPv4
if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')){
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
}
//設(shè)置curl請求連接時(shí)的最長秒數(shù),如果設(shè)置為0,則無限
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//設(shè)置curl總執(zhí)行動(dòng)作的最長秒數(shù),如果設(shè)置為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及以上版本時(shí),以上設(shè)置才生效。
- php REMOTE_ADDR之獲取訪客IP的代碼
- php 獲取客戶端的真實(shí)ip
- php gethostbyname獲取域名ip地址函數(shù)詳解
- php 獲取本機(jī)外網(wǎng)/公網(wǎng)IP的代碼
- PHP 獲取客戶端真實(shí)IP地址多種方法小結(jié)
- php中獲取遠(yuǎn)程客戶端的真實(shí)ip地址的方法
- php獲取用戶IPv4或IPv6地址的代碼
- php 獲取本地IP代碼
- PHP根據(jù)IP地址獲取所在城市具體實(shí)現(xiàn)
- php利用新浪接口查詢ip獲取地理位置示例
- php實(shí)現(xiàn)獲取局域網(wǎng)所有用戶的電腦IP和主機(jī)名、及mac地址完整實(shí)例
- php中獲取主機(jī)名、協(xié)議及IP地址的方法
- php實(shí)現(xiàn)根據(jù)IP地址獲取其所在省市的方法
- PHP 獲取ip地址代碼匯總
相關(guān)文章
PHP操作文件類的函數(shù)代碼(文件和文件夾創(chuàng)建,復(fù)制,移動(dòng)和刪除)
PHP操作文件類(文件和文件夾創(chuàng)建,復(fù)制,移動(dòng)和刪除) ,使用也比較方便,需要的朋友可以參考下。2011-11-11php絕對(duì)路徑與相對(duì)路徑之間關(guān)系的的分析
php絕對(duì)路徑與相對(duì)路徑之間關(guān)系的的深入研究2010-03-03PHP中使用SimpleXML檢查XML文件結(jié)構(gòu)實(shí)例
這篇文章主要介紹了PHP中使用SimpleXML檢查XML文件結(jié)構(gòu)實(shí)例,本文講解使用SimpleXML來檢查一個(gè)XML文件是否符合規(guī)范的方法,需要的朋友可以參考下2015-01-01javascript數(shù)組與php數(shù)組的地址傳遞及值傳遞用法實(shí)例
這篇文章主要介紹了javascript數(shù)組與php數(shù)組的地址傳遞及值傳遞用法,實(shí)例分析了javascript與php的數(shù)組使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01php進(jìn)程通信之共享內(nèi)存詳細(xì)講解
這篇文章主要介紹了php進(jìn)程通信之共享內(nèi)存,共享內(nèi)存是一種最為高效的進(jìn)程間通信(IPC)方式,進(jìn)程可以直接讀寫內(nèi)存,而不需要任何數(shù)據(jù)的拷貝2022-09-09