在 Perl 脚本中(使用 Ubuntu)我想做类似的事情
use Blah;
...
...
my $response =
&Blah::Fetch($URL, {'method'=>'POST', 'parameters' => \%params});
为了方便我写的看起来很像 Prototype.js ajax 调用,但显然我们使用的是 Perl 而不是 Javascript,我们在服务器上而不是浏览器上,调用者想要阻止直到我们从远程服务器获取应答或超时。在服务器或超时错误的情况下,defined($response) 应该是 false。如果有一种获取 HTTP 状态的方法很好,但知道请求失败就足够了。它应该能够执行 GET 或 POST。
我知道我可以通过使用 system 和 wget 来做到这一点,但那是一种拼凑。
在 Perl 中执行此任务的最佳方法是什么?
有没有漂亮整洁的 Perl 界面?
最佳答案
你可以使用 HTTP::Request
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->timeout(3);
my $req = (POST 'http://stackoverflow.com',
["param1" => $var1,
"param2" => $var2]);
$response = $ua->request($req);
$content = $response->content;
exit;
有关响应元素,请在此处查看更多信息:http://kobesearch.cpan.org/htdocs/libwww-perl/HTTP/Request.html
关于perl - 我怎样才能将信息转发到另一个网站并获得其在 Perl 中的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2286277/