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"))) {
...
}
干杯。
抱歉,我是 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"))) { ... }
干杯。