【问题标题】:Mojo::useragent SSL failureMojo::useragent SSL 失败
【发布时间】:2018-12-11 16:57:20
【问题描述】:

我正在使用 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 连接尝试失败错误:14077419:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 警报访问被拒绝

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

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

【问题讨论】:

  • 我的第一个猜测是您的代理拒绝让您通过。你是如何配置 Mojo::UserAgent 的代理的?你有一些代码吗?
  • 我正在使用那些环境变量 HTTP_PROXY 和 HTTPS_PROXY,http_proxy,HTTPS_PROXY 与 curl 但 mojo::useragent 返回上述错误

标签: perl ssl mojolicious mojo-useragent


【解决方案1】:

由于 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');

【讨论】:

    猜你喜欢
    • 2016-05-13
    • 2019-01-20
    • 2022-01-01
    • 1970-01-01
    • 2015-12-11
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多