Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl getprint()不返回任何内容_Perl_Web_Hosting_Server Side - Fatal编程技术网

Perl getprint()不返回任何内容

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/"); 我把它放在某个域名上。关键是,它确实适用于我输入的每个域,除了我的域和托管公司的域(包括它们的服务域,如用于管理工具等的服务域) 我真的很困惑,不知道我做错了什么首先你应该修改一下你的脚本,使用某种“

对不起,我是Perl新手,但是,这对我来说真的很奇怪

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

#!/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::状态,如成功或错误。链接: