在 cURL 之前检查代理
Check proxy before cURL
我需要检查所选 $proxy
是否处于活动状态并执行循环,直到在 cURL 中使用它之前在 proxy.txt
中找到一个工作的循环。我怎么能那样做?下面是一个给定的代理函数。
<?php
function proxies()
{
$proxylist = file("proxy.txt");
$randomproxy = rand(0, sizeof($proxylist) - 1);
$proxylist = $proxylist[$randomproxy];
$words = explode(':', $proxylist);
return $words;
}
$proxy = proxies();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'url');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$username:$password");
....
?>
谢谢。
也许你可以 ping,像这样
function proxies()
{
return file("proxy.txt");
}
foreach ($proxies() as $proxy) {
$item = explode(':', $proxy);
$waitTimeoutInSeconds = 1;
if ($fp = fsockopen($item[0], $item[1], $errCode, $errStr, $waitTimeoutInSeconds)){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'url');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$username:$password");
break;
}
}
fclose($fp);
我需要检查所选 $proxy
是否处于活动状态并执行循环,直到在 cURL 中使用它之前在 proxy.txt
中找到一个工作的循环。我怎么能那样做?下面是一个给定的代理函数。
<?php
function proxies()
{
$proxylist = file("proxy.txt");
$randomproxy = rand(0, sizeof($proxylist) - 1);
$proxylist = $proxylist[$randomproxy];
$words = explode(':', $proxylist);
return $words;
}
$proxy = proxies();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'url');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$username:$password");
....
?>
谢谢。
也许你可以 ping,像这样
function proxies()
{
return file("proxy.txt");
}
foreach ($proxies() as $proxy) {
$item = explode(':', $proxy);
$waitTimeoutInSeconds = 1;
if ($fp = fsockopen($item[0], $item[1], $errCode, $errStr, $waitTimeoutInSeconds)){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'url');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$username:$password");
break;
}
}
fclose($fp);