1

我正在尝试使用 Qualys API v2 来获取返回的 xml 主机列表。我认为您必须使用 cURL,但我不熟悉它。这是我的代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_URL, "https://qualysapi.qualys.com/api/2.0/fo/asset/host/?action=list&details=Basic");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-Requested-With: Manitowoc Service Account'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$xml = curl_exec($ch);
curl_close();
$hostobj = simplexml_load_string($xml);
4

2 回答 2

1

实际上,QualysGuard API 调用不需要 curl。只要您可以进行 https 调用,您就可以使用任何您想要的方法。但是 curl 是一个很好的框架,因为一切都已经实现(使用 perl,另一种选择是 LWP)。

我无法找到您的代码的问题,但我发布了一个 perl 脚本,该脚本通过“使用 WWW::Curl::Easy”发出 API 请求来启动和下载 Qualys 报告:https ://community.qualys.com /docs/DOC-3222

我希望它可以帮助您使用 libcurl 编写自己的 perl API 请求。

于 2012-07-24T02:08:48.127 回答
0

I see nothing wrong with your code, but of course we can't see what values you are using for the username and password, and whether those credentials actually exist in QualysGuard.

To get status/error information from curl for a given request, use curl_getinfo(), curl_error(), and curl_errno() as described in the cURL Manual.

于 2012-07-24T07:56:18.517 回答