[英]PHP - How to make sure if a curl_multi proxy connection was succesful?
我想對代理使用 multi-cURL,但我不知道如何檢查每個代理連接是否成功。 使用普通的單個 cURL,我做了一個簡單的循環,只要 curl_errno 不為 0,它就會運行。
但是如何使用多卷曲制作呢?
謝謝!
在多卷曲上運行查詢之前,您可以擁有一個簡單的代理檢查器
簡單的代理檢查器
function __proxyChecker($proxy)
{
$ch = curl_init("http://google.com");
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_NOBODY, true);
$handle = curl_exec($ch);
curl_close($ch);
return $handle ;
}
用法
$proxies = "211.136.10.29:80
88.146.161.215:3128
211.136.10.29:80
61.35.0.39:6515
77.78.197.15:8080
211.161.152.106:80";
$proxies = explode("\n", $proxies);
//shuffle($proxies);
$url = "http://google.com";
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
echo "<pre>";
foreach ( $proxies as $proxy ) {
$proxy = trim($proxy);
if(empty($proxy))
continue ;
if(__proxyChecker($proxy))
echo $proxy , " - ok \n";
else
echo $proxy , " - bad \n";
}
輸出
211.136.10.29:80 - ok
88.146.161.215:3128 - ok
211.136.10.29:80 - ok
61.35.0.39:6515 - bad
77.78.197.15:8080 - bad
211.161.152.106:80 - ok
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.