Получение тайм-аута при использовании прокси с PHP cURL

Вот код, о котором идет речь:

$ch = curl_init();
curl_setopt(CURLOPT_URL, 'https://api.ipify.org?format=json');
curl_setopt(CURLOPT_PROXY, 'ip:port');
curl_setopt(CURLOPT_PROXYUSERPWD, 'user:pass');
$result = curl_exec($ch);
echo curl_error($ch);

Прокси и прокси, которые я использую, наиболее определенно работают. Я на самом деле пробовал несколько прокси из разных источников с аутентификацией и без, но каждый раз при подключении к прокси я получаю тайм-аут соединения.

Есть ли параметр конфигурации, запрещающий использование прокси-серверов или что-то, о чем я не знаю? Любая помощь здесь будет принята с благодарностью.

1

Решение

Вам нужно использовать метод CONNECT для https URL:

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);

Но некоторые прокси не поддерживают эту функцию.

3

Другие решения

Похоже, проблема HTTPS для меня. Пытаться:

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, false);

Это также может быть просто медленный URL, поэтому попробуйте:

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 400);//max seconds to allow cURL functions to run

Если есть какие-либо перенаправления, вы также можете попробовать:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

Если это не сработает, попробуйте проверить больше URL-адресов и посмотреть, если это https проблема с каждым сайтом, который вы пытаетесь, и можете ли вы воссоздать ту же проблему с http, Также убедитесь, что у вас включена поддержка отчетов об ошибках PHP, и посмотрите, нет ли у вас ошибок или предупреждений. Попробуйте преднамеренно заставить PHP генерировать ошибку или предупреждение, чтобы проверить, правильно ли работают отчеты об ошибках.

0

Я решил эту проблему и просто хотел обновить этот вопрос.

Проблема была с настройкой сервера. Были включены только самые распространенные исходящие порты, и я использовал прокси со случайными портами по всему спектру. Включение нужных мне портов (можно было бы вообще отключить ограничение) устранило проблему.

Поэтому, если вы столкнулись с той же проблемой, когда у вас истекает время при попытке подключиться к прокси-серверу, обратитесь в службу поддержки и спросите о любых ограничениях для исходящих портов.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector