Perl getprint()不返回任何内容
对不起,我是Perl新手,但是,这对我来说真的很奇怪 要点是:我有一个包含以下内容的perl脚本:Perl getprint()不返回任何内容,perl,web,hosting,server-side,Perl,Web,Hosting,Server Side,对不起,我是Perl新手,但是,这对我来说真的很奇怪 要点是:我有一个包含以下内容的perl脚本: #!/usr/bin/perl print "Content-type:text/html\n\n"; use LWP::Simple; getprint("http://DOMAIN/"); 我把它放在某个域名上。关键是,它确实适用于我输入的每个域,除了我的域和托管公司的域(包括它们的服务域,如用于管理工具等的服务域) 我真的很困惑,不知道我做错了什么首先你应该修改一下你的脚本,使用某种“
#!/usr/bin/perl
print "Content-type:text/html\n\n";
use LWP::Simple;
getprint("http://DOMAIN/");
我把它放在某个域名上。关键是,它确实适用于我输入的每个域,除了我的域和托管公司的域(包括它们的服务域,如用于管理工具等的服务域)
我真的很困惑,不知道我做错了什么首先你应该修改一下你的脚本,使用某种“try-catch”或“die(…)if…”结构,而且如果你的脚本在更多的域上工作,而不是在你的域或某些域上,这意味着他们不喜欢爬虫:-)。有很多方法可以解决问题,试着识别你的脚本,像一些“浏览器”一样抛出LWP(你必须在“www”中有很多例子),第二种想法是——首先使用一些普通PC作为客户端,因为你的服务器ip可能会被一些黑名单所禁止,但这是不太可能的
使用LWP; my$userAgnt=LWP::UserAgent->new 打印“内容类型:text/html\n\n” die“no success:-((除非定义$userAgnt->get(“域”) $userAgnt->getprint(“域/”); 或 如果(是否成功($userAgnt->getprint(“域”)){ ... }
干杯。同一URL的
curl
或wget
是否给您提供了任何信息?它似乎与wgetAre一起工作在任何代理中?如果是这样,请为LWP的对象设置代理。此外,您还可以使用该对象检查HTTP::状态,如成功或错误。链接: