perl - 为什么我不能使用 LWP::Simple 获取维基百科页面?

标签 perl wikipedia lwp

我正在尝试使用 LWP::Simple 获取维基百科页面,但他们不会回来。这段代码:

#!/usr/bin/perl
use strict;
use LWP::Simple;

print get("http://en.wikipedia.org/wiki/Stack_overflow");

不打印任何东西。但如果我使用其他网页,请说 http://www.google.com ,它工作正常。

我应该使用其他名称来引用维基百科页面吗?

这里会发生什么?

最佳答案

显然维基百科阻止了 LWP::Simple 请求:http://www.perlmonks.org/?node_id=695886

以下工作代替:

#!/usr/bin/perl
use strict;
use LWP::UserAgent;

my $url = "http://en.wikipedia.org/wiki/Stack_overflow";

my $ua = LWP::UserAgent->new();
my $res = $ua->get($url);

print $res->content;

关于perl - 为什么我不能使用 LWP::Simple 获取维基百科页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24546/

相关文章:

shell - shell 中的 lwp 请求 : how to make POST request with body?

perl - 如何制作从 A 到 Z 的字母列表并在 shell 中迭代它们?

regex - 只有一个单独的插入符号的字符类有什么作用?

perl - "map"是循环吗?

linux - 使用别名到多个主机的 perl ssh 脚本

python - 如何列出从特定 IP 地址对维基百科进行的所有匿名(因此 IP 公开)编辑?

mediawiki - 如何让 Wikipedia 模板与 MediaWiki 一起使用

php - 维基百科 API 对于某些查询不返回任何内容

使用 LWP::UserAgent 通过代理的 Perl HTTPS

perl - 如何使用 LWP::UserAgent 登录 Perl 并使用 HTTP::Cookies 检查 cookies 值?