Mojo :: useragent SSL失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mojo :: useragent SSL失败相关的知识,希望对你有一定的参考价值。

我正在使用Mojo :: Useragent获取使用HTTP_PROXY和HTTPS_PROXY定义的代理后面的一些站点

下面是一个代码示例:

my $rs = $ua->insecure(1)->get($mysite) 
if($rs->res->is_success) {
    .....
} else {
    print "Problem with fetching $mysite 
";
    print $rs->res->error->{message};
}

我收到此错误:

SSL连接尝试失败错误:14077419:SSL例程:SSL23_GET_SERVER_HELLO:tlsv1警报访问被拒绝

当我在同一台机器上使用curl时,我得到了预期的结果。

不知道如何解决这个问题?

答案

形成SSL错误,看起来您的网络正在积极拒绝让您通过。

定义环境变量HTTP_PROXY和HTTPS_PROXY很好,但是你需要告诉Mojo :: UserAgent使用它们(与cURL不同,它默认会自动查找它们)。

在运行查询之前,将此行添加到代码中:

$ua->proxy->detect;

the Mojo::UserAgent::Proxy documentation

如果您在不使用环境变量的情况下寻找纯Perl解决方案,则可以直接在代码中手动配置代理,例如:

$ua->proxy
      ->http('http://127.0.0.1:8080')
      ->https('http://127.0.0.1:8080');

以上是关于Mojo :: useragent SSL失败的主要内容,如果未能解决你的问题,请参考以下文章

我可以强制 LWP::UserAgent 接受过期的 SSL 证书吗?

Flutter 构建失败 'UserAgent.h' 文件未找到

file_get_contents():SSL 操作失败,代码为 1(证书验证失败)

Laravel:stream_socket_enable_crypto():SSL操作失败,代码1 [重复]

在 Laravel 中使用 TLS 配置电子邮件 - 错误 SSL 操作失败,代码 1 [重复]

SSL 服务器证书验证在代码中失败,但在 openssl 中没有