1

我对 Perl 不太熟悉,但我将它用于我要编写的简单脚本。该脚本将与 Qualys 交互,因此在查找有关 Qualys API 的信息时,我在查看他们的示例代码时发现了此语句。我已将它放在 Pastebin.com(此处)上,因此您无需下载即可查看。如果出于某种原因您确实想自己下载它,这里是我为那些希望能够下载源代码的人获得它的页面的链接(它是“获取地图”之一)。

无论如何,这是让我有点困惑的声明(第 261 行):

$request = new HTTP::Request GET => $url;

我对声明的newGET => $url部分感到困惑。

  1. 我想我主要了解new声明的部分发生了什么,但是如果有人可以解释如何HTTP::Request创建一个LWP::UserAgent有助于澄清这一行的新内容(我查看了 CPAN 上的 LWP::UserAgent,但是“KEY/DEFAULT “他们在new子程序解释下的表格对我来说毫无意义)。
  2. 我真的不知道GET => $url声明部分发生了什么。我的猜测是它在其中一个中分配了一个值,HTTP::RequestLWP::UserAgent我找不到任何信息来支持这个想法。
4

1 回答 1

6

给定的行相当于

$request = HTTP::Request->new(GET => $url);

也可以写成

$request = HTTP::Request->new('GET', $url);

该示例使用了间接方法语法。

HTTP::Request和之间的联系在CPAN 文档LWP::UserAgent中概述如下:

require HTTP::Request;
$request = HTTP::Request->new(GET => 'http://www.example.com/');

$ua = LWP::UserAgent->new;
$response = $ua->request($request);

所以HTTP:.Request->new(...)创建了一个可以由用户代理执行的新请求

于 2012-07-31T15:19:08.460 回答