2012-07-23 66 views
1

我正在嘗試使用Qualys API v2來獲取返回的xml主機列表。我認爲你必須使用cURL,但我不熟悉它。這裏是我的代碼:如何在PHP中使用Qualys API v2?

$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); 
+0

什麼問題?你有什麼錯誤嗎? – drew010 2012-07-23 21:21:15

回答

1

實際上,QualysGuard API調用不需要curl。只要您可以撥打https通話,您就可以使用任何您想要的方式。但是curl是一個很好的框架,因爲所有的東西都已經實現了(perl,另一種選擇是LWP)。

我一直沒能找到問題與您的代碼,但我貼一個Perl腳本,啓動並通過使API請求「使用WWW ::捲曲::易」下載一個Qualys的報告:https://community.qualys.com/docs/DOC-3222

我希望它能幫助你用libcurl編寫你自己的perl API請求。

0

我沒有看到您的代碼錯誤,但我們當然看不到您使用的用戶名和密碼的值,以及這些憑據是否確實存在於QualysGuard中。

從捲曲得到狀態/錯誤信息對於給定的請求,使用curl_getinfo()curl_error(),和curl_errno()如上所述in the cURL Manual