Бобр Добр
Профессор
- Регистрация
- 17 Янв 2010
- Сообщения
- 242
- Реакции
- 37
- Автор темы
- #1
Привет всем! Парни помогите плз сил больше нет.
Короче нужно написать прокси чекер который определяет и тип прокси. Алгоритм такой:
Но этот скрипт иногда выдавал не рабочие HTTP прокси за рабочие.
Начал искать проблему, оказалась что если выставлено:
curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_HTTP);
А прокси на самом деле SOCKS то функция curl_exec() выдаёт true, а веренее она выводит вот такую строку: [‘|яяяя.
Я хз почему, php.net весь перечитал.
Вот этот код демонстрирует это проблему.
примерно в 20% запусков выводит:
Большая просьба запустите приведённый пример, у себя кто нибудь.
Короче нужно написать прокси чекер который определяет и тип прокси. Алгоритм такой:
PHP:
Cразу ставим
curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_HTTP);
патом делаем проверку
if(curl_exec) {
прокси рабочие и её тип HTTP
} else {
curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);
if(curl_exec){
проуси рабочие и её тип SOCKS5
}
}
Но этот скрипт иногда выдавал не рабочие HTTP прокси за рабочие.
Начал искать проблему, оказалась что если выставлено:
curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_HTTP);
А прокси на самом деле SOCKS то функция curl_exec() выдаёт true, а веренее она выводит вот такую строку: [‘|яяяя.
Я хз почему, php.net весь перечитал.
Вот этот код демонстрирует это проблему.
PHP:
<?php
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://php.net/');
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_PROXY,'67.185.120.108:1455');
curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_HTTP);
echo curl_error($ch);
for($i=0;$i<15;$i++){
$ne = curl_exec($ch);
var_dump($ne);
}
?>
примерно в 20% запусков выводит:
string '�[‘|яяяя' (length=8)
Большая просьба запустите приведённый пример, у себя кто нибудь.