v7
Guest
Проблема с fsockopen()
Пишу скрипт для проверки прокси. Возникла проблема - не могу решить второй день: при проверке некоторых прокси вылетает Апач (установлен Денвер), либо появляется сообщение "ошибка в строке $port1=... - слишком длинный аргумент". Оказалось, что вместо IP:порт из $proxylist в какой-то момент он начинает брать странные значения (пример ниже). Похоже, возникает какая-то критическая ошибка.
Смотрел через файрвол, прокси не отвечают очень долго и происходит 2-4 одновременных соединения. Возможно, баги из-за этого.
Вот этот скрипт (сильно упрощенный, но не желающий работать), с этими IP возникают проблемы:
Пример ошибок (адреса записывались в файл):
12.3.144.2:8080
12.10.130.114:80
12.25.203.42:80
:2.36.103.1:80
: 0:
{
{
Подскажите, как победить.
Пишу скрипт для проверки прокси. Возникла проблема - не могу решить второй день: при проверке некоторых прокси вылетает Апач (установлен Денвер), либо появляется сообщение "ошибка в строке $port1=... - слишком длинный аргумент". Оказалось, что вместо IP:порт из $proxylist в какой-то момент он начинает брать странные значения (пример ниже). Похоже, возникает какая-то критическая ошибка.
Смотрел через файрвол, прокси не отвечают очень долго и происходит 2-4 одновременных соединения. Возможно, баги из-за этого.
Вот этот скрипт (сильно упрощенный, но не желающий работать), с этими IP возникают проблемы:
PHP:
$proxylist=array("12.3.144.2:8080",
"12.10.130.114:80","12.25.203.42:80", "12.25.203.78:80","12.33.10.162:80", "12.36.103.1:80");
$s1="";
for ($i=0;$i<count($proxylist);$i++) {
$a1=strpos($proxylist[$i],":");
$ip1=substr($proxylist[$i],0,$a1);
$port1=substr($proxylist[$i],($a1+1));
$fp=fsockopen($ip1,$port1,$errstr,$errno,10);
if(!$fp) {
$s1.="error ".$ip1.":".$port1."<br>";
}
else {
fclose($fp);
$s1.=$ip1.":".$port1."<br>";
}
}
echo $s1;
12.3.144.2:8080
12.10.130.114:80
12.25.203.42:80
:2.36.103.1:80
: 0:
{
{
Подскажите, как победить.