В чем причина, что мой чекер проксей не чекает из исходного списка — socks5 прокси?

В чем причина, что мой чекер проксей не чекает из исходного файла (gotovo_vse_sellery_bezdybley.txt) - прокси типа "socks5" ?

Хотя в исходном файле (gotovo_vse_sellery_bezdybley.txt) рабочих проксей типа "socks5" - оч. много.

А так же, по какой-то причине в финальный результат (файл proxyuniq.txt) попадают прокси типа "http" , в количестве примерно 25% от всего объема финального списка проксей (файл proxyuniq.txt), хотя проксей типа "http" в "финале" быть не должно, там должны быть только прокси типов: "http" и "socks5"

Код:
<?php
$proxies = file ("gotovo_vse_sellery_bezdybley.txt");
if (empty($proxies))
{
    exit(1);
}

$mc = curl_multi_init ();
for ($thread_no = 0; $thread_no<count ($proxies); $thread_no++)
{
    $c [$thread_no] = curl_init ();
    curl_setopt ($c [$thread_no], CURLOPT_URL, "http://google.com");
    curl_setopt ($c [$thread_no], CURLOPT_HEADER, 0);
    curl_setopt ($c [$thread_no], CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($c [$thread_no], CURLOPT_CONNECTTIMEOUT, 15);
    curl_setopt ($c [$thread_no], CURLOPT_TIMEOUT, 30);
    curl_setopt ($c [$thread_no], CURLOPT_PROXY, trim ($proxies [$thread_no]));
    curl_setopt ($c [$thread_no], CURLOPT_PROXYTYPE, CURLPROXY_HTTPS);
    curl_multi_add_handle ($mc, $c [$thread_no]);
}
 
$proxies_out = array();
do {
    while (($execrun = curl_multi_exec ($mc, $running)) == CURLM_CALL_MULTI_PERFORM);
    if ($execrun != CURLM_OK) break;
    while ($done = curl_multi_info_read ($mc))
    {
        $info = curl_getinfo ($done ['handle']);
        if ($info ['http_code'] == 301) {
            echo trim ($proxies [array_search ($done['handle'], $c)])."\r\n";
            $proxies_out[trim($proxies[array_search($done['handle'], $c)])] = trim($proxies[array_search($done['handle'], $c)]);
            unset($proxies[array_search ($done['handle'], $c)]);
        }
        curl_multi_remove_handle ($mc, $done ['handle']);
    }
} while ($running);
curl_multi_close ($mc);

$mc = curl_multi_init ();
for ($thread_no = 0; $thread_no<count ($proxies); $thread_no++)
{
    $c [$thread_no] = curl_init ();
    curl_setopt ($c [$thread_no], CURLOPT_URL, "http://google.com");
    curl_setopt ($c [$thread_no], CURLOPT_HEADER, 0);
    curl_setopt ($c [$thread_no], CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($c [$thread_no], CURLOPT_CONNECTTIMEOUT, 15);
    curl_setopt ($c [$thread_no], CURLOPT_TIMEOUT, 30);
    curl_setopt ($c [$thread_no], CURLOPT_PROXY, trim ($proxies [$thread_no]));
    curl_setopt ($c [$thread_no], CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME); 
    curl_multi_add_handle ($mc, $c [$thread_no]);
}
 
$proxies5_out = array();
do {
    while (($execrun = curl_multi_exec ($mc, $running)) == CURLM_CALL_MULTI_PERFORM);
    if ($execrun != CURLM_OK) break;
    while ($done = curl_multi_info_read ($mc))
    {
        $info = curl_getinfo ($done ['handle']);
        if ($info ['http_code'] == 301) {
            echo trim ($proxies [array_search ($done['handle'], $c)])."\r\n";
            $proxies5_out[trim($proxies[array_search($done['handle'], $c)])] = trim($proxies[array_search($done['handle'], $c)]);
        }
        curl_multi_remove_handle ($mc, $done ['handle']);
    }
} while ($running);
curl_multi_close ($mc);

file_put_contents("proxyuniq.txt", implode("\r\n", $proxies_out)."\r\n\r\n".implode("\r\n", $proxies5_out));
?>


Этот вопрос есть логическое продолжение этого решенного вопроса Как добавить к чекингу HTTPS и HTTP еще и проверку и выдачу SOCKS5 проксей?
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Что-то этот марафон смахивает на "Напишите мне скрипт под мои фантизии".
Вот возьмите и внимательно перечитайте ваше условие: хотя проксей типа "http" в "финале" быть не должно, там должны быть только прокси типов: "http" и "socks5".

Кроме того, я же уже отвечал в вашем прошлом "задании", что Google хорошо блокирует прокси, в том числе ВСЕ sock4 и sock5, ну вот воюют они с ботами. И тут опять... Думаете задание, повторённое 10000000 раз, на 10000001 повтор всё-таки получит доступ к Google через прокси?!?!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы