Я использую Mojo :: Useragent для получения сайта за прокси, который определен с использованием HTTP_PROXY и HTTPS_PROXY
ниже пример кода:
my $rs = $ua->insecure(1)->get($mysite)
if ($rs->res->is_success) {
.....
} else {
print "Problem with fetching $mysite \n";
print $rs->res->error->{message};
}
Я получаю эту ошибку:
SSL connect attempt failed error:14077419:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert access denied
Хотя, когда я использую curl на той же машине, я получаю ожидаемые результаты.
Есть идеи, как решить эту проблему?
Я использую эти переменные среды HTTP_PROXY и HTTPS_PROXY, http_proxy, HTTPS_PROXY, которые хорошо работают с curl, но mojo :: useragent возвращает ошибку, упомянутую выше





Из-за ошибки SSL похоже, что ваша сеть активно отказывается пропускать вас.
Определение переменных среды HTTP_PROXY и HTTPS_PROXY - это нормально, однако вам нужно указать Mojo :: UserAgent, чтобы они использовали их (в отличие от cURL, который автоматически ищет их по умолчанию).
Добавьте эту строку в свой код перед выполнением запроса:
$ua->proxy->detect;
См. документация Mojo :: UserAgent :: Proxy.
Если вы ищете решение на чистом Perl без использования переменных среды, вы можете настроить прокси вручную прямо в коде, например:
$ua->proxy
->http('http://127.0.0.1:8080')
->https('http://127.0.0.1:8080');
Я сначала предполагаю, что ваш прокси не пропускает вас. Как вы настраивали прокси Mojo :: UserAgent? У вас есть код для этого?