@fomenko_alexandr

Как сделать чекер прокси на php (GuzzleHttp)?

Здравствуйте.
Подскажите пожалуйста, есть ли какое-то рабочее ПО для чека прокси (быстро)? Может и не на php, но чтобы работало на сервере?
Пытался сделать с использованием GuzzleHttp, написал код:
$url = 'https://api.ipify.org?format=json';
$promises = [];
foreach ($proxies as $proxy) {
    $client = new Client([
        RequestOptions::HEADERS => [
            'user-agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'
        ],
        RequestOptions::COOKIES => new CookieJar(),
        RequestOptions::PROXY => $proxy->getProxy(),
        RequestOptions::CONNECT_TIMEOUT => 4,
        RequestOptions::TIMEOUT => 4,
    ]);

    $promises[] = $client->getAsync($url)->then(function($responses) use($start, $proxy) {
        echo $proxy->getProxy() . PHP_EOL;
    });
}

settle($promises)->wait(true);


но он работает слишком медленно, и похоже, что все прокси обрабатываются по одному. Подскажите, может знаете какое-то готовое решение?
  • Вопрос задан
  • 716 просмотров
Пригласить эксперта
Ответы на вопрос 2
@grinat
Залезть в guzzle и посмотреть как у них называется обертка над curl_multi, либо использовать curl_multi. Но если их много то не надо кидать туда сразу все, если система слабая, повесишь ее намертво.
Ответ написан
@rogiivs
какой код большой, почему просто не использовать для этого API сторонних сервисов?
https://proxycheck.io/api/
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы