Perl LWP ::简单赢了"得到"从远程服务器运行时的网页

时间:2016-06-21 18:18:20

标签: perl lwp

我试图使用Perl来删除出版物列表,如下所示:

use XML::XPath;
use XML::XPath::XMLParser;
use LWP::Simple;

my $url = "https://connects.catalyst.harvard.edu/Profiles/profile/xxxxxxx/xxxxxx.rdf";

my $content = get($url);
die "Couldn't get publications!" unless defined $content;

当我在本地(Windows 7)机器上运行时,它运行正常。当我尝试在我们托管一些网站的linux服务器上运行它时,它就会死掉。我使用cpan安装了XML和LWP,所以那些应该在那里。我想知道问题是否可能是服务器上的某种安全性或权限(使其无法访问外部网站),但我甚至不知道从哪里开始。有任何想法吗?

1 个答案:

答案 0 :(得分:4)

原来我没有安装LWP :: Protocol :: https。我通过切换找到了这个

LWP::Simple  

LWP::UserAgent 

并添加以下内容:

my $ua = LWP::UserAgent->new;
my $resp = $ua->get('https://connects.catalyst.harvard.edu/Profiles/profile/xxxxxx/xxxxxxx.rdf' );
print $resp;

然后它返回一个错误,告诉我它没有协议来访问没有LWP :: Protocol :: https的https,所以我用

安装它
cpan LWP::Protocol::https

一切都很好。

相关问题