gpt4 book ai didi

使用 LWP::UserAgent 通过代理的 Perl HTTPS

转载 作者:行者123 更新时间:2023-12-04 12:50:40 24 4
gpt4 key购买 nike

我希望使用 perl 的 LWP::UserAgent 模块通过 HTTPS 代理请求 URL。关于这个有很多引用,但没有什么可以帮助我让它工作。

#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use Data::Dumper;

BEGIN {
$ENV{HTTPS_PROXY} = 'https://<IP>:<PORT>';
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
$ENV{HTTPS_PROXY_USERNAME} = '<API_KEY>';
$ENV{HTTPS_PROXY_PASSWORD} = '';
$ENV{HTTPS_DEBUG} = 1; #Add debug output
}

my $ua = LWP::UserAgent->new(ssl_opts => {verify_hostname => 0}, SSL_version => 'SSLv3', allowed_protocols => ['https', 'http']);
$ua->proxy(['https', 'http'], 'https://<IP>:<PORT>');
my $req = HTTP::Request->new('GET','https://<DOMAIN_URL>');
print STDERR Dumper($ua);
my $response = $ua->request($req);
print $response->code ."\n";
print STDERR Dumper($response);

我收到这个错误:

SSL connect attempt failed error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol at /home/user/project/local/lib/perl5/LWP/Protocol/http.pm line 51.

尽管我在 LWP 中指定了 allowed_protocols,在代理中指定了 https 方案并且 url 方案是 https,但它仍然转到上面的 LWP::Protocol::HTTP 而不是 LWP::Protocol::HTTPS。

我还验证了 LWP::Protocol::HTTPS 的版本是 6.06,与 LWP::UserAgent 相同(在其中一个论坛中提到)

最佳答案

这对我有用:

use LWP::UserAgent;

$ua = LWP::UserAgent->new();
$ua->proxy('https', 'connect://<USER>:<PSWD>@<IP>:<PORT>/');

$ua->get('https://www.somesslsite.com');

HTTPS Proxy and LWP::UserAgent

注意:环境凭据 (HTTPS_PROXY_USERNAME) 对我不起作用。我必须像上面那样在 URL 中输入它。

关于使用 LWP::UserAgent 通过代理的 Perl HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39346745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com