如何使用Perl6与Github API进行交互?

时间:2018-04-20 18:48:25

标签: http github perl6 rakudo

我想在脚本中使用Github API,并希望将其用作使用Perl6更好的体验。但是,我甚至无法得到一个简单的概念证明。

通过一些测试,我意识到你提供了有效的用户代理的Github requires,所以我转向了HTTP::UserAgent。无论我尝试什么,我都会收到以下错误:

Internal Error: 'server returned no data'
  in block  at /Applications/Rakudo/share/perl6/site/sources/FD28A8E22DFE16B70B757D9981C7B6C25543060C (HTTP::UserAgent) line 259
  in any  at /Applications/Rakudo/share/perl6/site/precomp/F91BAB44DF15C5C298C627DD5E0F9D819ED79939.1517344679.60204/FD/FD28A8E22DFE16B70B757D9981C7B6C25543060C line 1
  in method new at /Applications/Rakudo/share/perl6/site/sources/DDDD4497B34FC81BC1F5FF467999BC4DA2FA1CEB (HTTP::Response) line 25
  in method get-response at /Applications/Rakudo/share/perl6/site/sources/FD28A8E22DFE16B70B757D9981C7B6C25543060C (HTTP::UserAgent) line 291
  in method request at /Applications/Rakudo/share/perl6/site/sources/FD28A8E22DFE16B70B757D9981C7B6C25543060C (HTTP::UserAgent) line 159
  in method get at /Applications/Rakudo/share/perl6/site/sources/FD28A8E22DFE16B70B757D9981C7B6C25543060C (HTTP::UserAgent) line 102
  in method get at /Applications/Rakudo/share/perl6/site/sources/FD28A8E22DFE16B70B757D9981C7B6C25543060C (HTTP::UserAgent) line 105
  in block <unit> at reporter.pl6 line 12

回购单中甚至有an example对我来说似乎不起作用。

#!/usr/bin/env perl6
use v6;
use HTTP::UserAgent;

my $ua = HTTP::UserAgent.new;
$ua.timeout = 1;

my $response = $ua.get('https://github.com');

if $response.is-success {
    say $response.content;
} else {
    die $response.status-line;
}

有关如何通过Perl 6连接Github的任何提示?我真的很喜欢这种语言的许多方面,但这类事情令人沮丧。

编辑:我继续#perl6 irc,没有人能够在其他操作系统上重现这一点。我让它在Debian上工作。问题似乎与OS X

有关

1 个答案:

答案 0 :(得分:2)

虽然在alpha阶段,WebServices::GitHub完全可以使用。您可以使用它来下载用户信息,或者如果您想与问题进行交互,则可以使用my fork。例如,This program用于从特定仓库下载一些问题。