при запросе через прокси, который поддерживает https для https сайта.Появляется ошибка «Причина» => «ssl23_get_server_hello: неизвестный протокол», «Статус» => 596,
Я использую библиотеку AnyEvent, подозреваю, что проблема с запросом на подключение, но я не могу ее решить привсе, я буду очень благодарен за подсказку.
use strict;
use utf8;
use Data::Dumper;
use AnyEvent::HTTP;
use MIME::Base64;
use AnyEvent::Connector;
my $cookies = {};
my $done = AnyEvent->condvar;
my $request_watcher = http_request(
get => 'https://randomup.ru',
(
keepalive => 1,
persistent => 1,
recurse => 0,
cookie_jar => $cookies,
timeout => 10,
headers => {
'user-agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3445.2 Safari/537.36',
'accept-encoding' => 'gzip',
'Accept-Language'=> 'en-us,en;q=0.5',
'Accept-Charset'=> 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Proxy-Authorization' => 'Basic ' . encode_base64('XXX' . ':' . 'XXX'),
},
),
on_header => sub {
print STDERR Dumper @_;
return 1;
},
proxy => ['XX.XX.XX.XX', 8000, 'http'],
sub {
print STDERR Dumper @_;
#$done->send;
}
);
$done->recv();
подозреваю, что метод tcp_connect также необходим, но я не понимаю, как его настроить.
Так что прокси работает дляLWP
require LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->proxy(['https', 'http'], 'http://XXX:NChD7r@XXX.XXX.38.67:8000');
# $ua->proxy(['https'], 'https://proxy:8080'); # Fails
# $ua->env_proxy; # This also fails.
my $response = $ua->get('https://randomup.ru');
if ($response->is_success) {
print $response->decoded_content; # or whatever
}
else {
die $response->status_line;
}
К сожалению, я не могу написать полный прокси, потому что он платный.Но если без него абсолютно ничего, то я могу написать.