Perl getprint() returns 没有

Perl getprint() returns nothing

抱歉,我是 Perl 的新手,但是,这对我来说真的很奇怪。

重点是:我有一个包含以下内容的 perl 脚本:

#!/usr/bin/perl

print "Content-type:text/html\n\n";
use LWP::Simple;

getprint("http://DOMAIN/");

我把它托管在某个域上。关键是它确实适用于我输入的每个域,除了我的域和托管公司的域(包括他们的服务域,如管理工具等)...

我真的很困惑,不知道我做错了什么

首先您应该稍微修改一下您的脚本,使用某种 "try-catches" 或 "die(...) if ..." 结构,如果您的脚本适用于更多域,但不适用于您的域或某些特定域,则进一步修改,这意味着他们不喜欢爬虫 :-)。有很多方法可以解决一些问题,尝试识别你的脚本抛出 LWP 就像一些 "browser" (你必须在 'www' 中有很多例子)第二个想法是 - 首先使用一些普通的 PC 作为客户端,因为有可能你的服务器ip可以被一些黑名单禁止,但是这种可能性很小。


使用 LWP; 我的 $userAgnt = LWP::UserAgent->new;

打印"Content-type:text/html\n\n";

die "no success :-(" unless defined $userAgnt->get("DOMAIN");

$userAgnt->getprint("DOMAIN/");

if (is_success($userAgnt->getprint("DOMAIN"))) { ... }

干杯。