2014-01-28 35 views
1

我試圖在Zend Http Client中使用PUT方法,但我無法向請求添加參數。如何在Zend的HTTP客戶端中設置PUT參數

這裏是我的代碼片段:

$client = new Zend_Http_Client($this->url); 
$client->setAuth($this->username, $this->password, Zend_Http_Client::AUTH_BASIC); 
$client->setParameterPut('fruit',$var); 
$result = $client->request('PUT'); 
$data = $result->getBody(); 

我已經在代碼中聲明 「URL」, 「用戶名」, 「密碼」 和 「VAR」 之前。

+0

如果你還可以包含你遇到的錯誤,那會很好。 – shevron

回答

1

儘管您沒有包含該錯誤,但Zend_Http_Client中沒有這樣的方法,因爲$client->setParameterPut()

PUT請求沒有「參數」語義。要發送PUT請求中的內容,您很可能想要使用$client->setRawData($data, $enctype),其中$data是您的數據,即以某種形式編碼的參數,$enctype是Content-type,它是可選的,但是大多數API都是推薦或要求的。

+0

作爲一般說明,RTFMing總是一個好主意;) – shevron

+0

是不是setRawData()用於xml/json/zip數據?我試圖傳遞一個變量,其值是動態的。 – user2509780

+0

@ user2509780數據可以是任何你想要的,靜態或動態的。如果你傳遞的是「參數」,它們必須以某種方式進行編碼(例如標準HTML表單中使用的url編碼),並且你的服務器需要知道如何解碼它們,但只要知道內容可以是任何東西。 – shevron