【问题标题】:Net::GitHub::V3 and Proxy settingsNet::GitHub::V3 和代理设置
【发布时间】:2014-09-12 05:00:40
【问题描述】:

我正在尝试使用 Net::GitHub 连接到 github

我的代码如下所示:

use Net::GitHub::V3;
my $gh = Net::GitHub::V3->new(
    login => 'myuser', pass => 'mypassword'
);

my $search = $gh->search;
my %data = $search->repositories({ q => 'repname' });

我收到以下错误消息:

无法在 Net/GitHub/V3/Search.pm 第 27 行连接到 api.github.com:443。

  • 值得一提的是,我在代理后面使用这个 mdoule

有熟悉的人怎么解决这个问题?

【问题讨论】:

  • 你能把你的整个脚本放在这里吗,如果有关于使用可能相关的代理的详细信息,请将它们添加到你的问题中。使用您上面粘贴的代码时,我没有收到任何错误。
  • 这是整个脚本,只是缺少使用..在代码和真实用户名和密码之前,这个脚本在代理后面使用

标签: perl github cpan github-api


【解决方案1】:

我刚刚将新版本的 Net::GitHub 上传到 CPAN。 0.69.

现在你可以做类似的事情

$gh->ua->proxy('https', 'socks://127.0.0.1:9050');

检查examples/proxy.pl $gh->ua 是 LWP::UserAgent。

谢谢

【讨论】:

  • 非常感谢您的努力,我会下载新版本试试看。
  • 当我尝试使用上述方法使用 LWP::Useragent 代理时,我收到了错误的请求,但是当使用 LWP 环境变量时它可以工作:BEGIN { $Net::HTTPS::SSL_SOCKET_CLASS = "Net: :SSL"; $ENV{HTTPS_PROXY} = 'myproxy:8080'; $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0 } 非常感谢您的帮助
  • 以上代码使用了socks代理。并且您显示的代码使用的是 HTTPS 代理。因此,如果您希望上面的代码像您的一样工作,请将 socks:// 更改为 https:// ,它也可以工作。 ty
猜你喜欢
  • 2022-10-21
  • 2010-10-12
  • 2019-04-12
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
相关资源
最近更新 更多