[英]How to Log the Zend_Http_Client request
我試圖在執行請求之前先記錄我的請求,以真正了解我要發送的示例:我有以下代碼:
$client = new Zend_Http_Client();
$client->setUri($uri);
$client->setConfig(array('timeout' => 30));
$client->setHeaders('Content-Type: application/xml');
$client->setMethod('POST');
$client->setParameterPost('PartnerID', 'xxx');
$client->setParameterPost('Password', 'XXXXXXXXX');
在我執行請求之前,我想知道我要發送的內容,例如:
$request = json_encode($client);
Log::notice("Request: " . $request);
要么:
Log::notice("Request: " . $client);
但是不行...
我可以這樣記錄響應:
$response = $client->request();
Log::notice("Response: " . $response);
這樣,我可以看到響應json,但是我想知道我正在執行的請求。
謝謝大家
使用函數Zend_Http_Client->getLastRequest()
獲得最后一個請求。 請注意,該函數返回一個字符串,您可能必須添加一些代碼以使其適合有意義的JSON輸出。 將以下內容添加到您的代碼中:
$request = $client->getLastRequest()
// make your changes to support JSON
Log::notice("Request: " . $request)
聯機文檔“ 簡介-Zend_Http-Zend框架-訪問最后的請求和響應”中也提到了該功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.