вы можете использовать fsockopen
для этого, где вы можете указать время ожидания.
Простая проверка списка прокси.Вы можете проверить список ip: port, если этот порт открыт на этом IP-адресе.
<?php
$fisier = file_get_contents('proxy_list.txt'); // Read the file with the proxy list
$linii = explode("\n", $fisier); // Get each proxy
$fisier = fopen("bune.txt", "a"); // Here we will write the good ones
for($i = 0; $i < count($linii) - 1; $i++) test($linii[$i]); // Test each proxy
function test($proxy)
{
global $fisier;
$splited = explode(':',$proxy); // Separate IP and port
if($con = @fsockopen($splited[0], $splited[1], $eroare, $eroare_str, 3))
{
fwrite($fisier, $proxy . "\n"); // Check if we can connect to that IP and port
print $proxy . '<br>'; // Show the proxy
fclose($con); // Close the socket handle
}
}
fclose($fisier); // Close the file
?>
, вы также можете использовать set_time_limit , чтобы вы могли запустить скрипт дольше.
Код взят из: http://www.php.net/manual/en/function.fsockopen.php#95605