2014-01-28 2 views
1

Я пытаюсь использовать метод PUT с Zend Http Client, но я не могу добавить параметры в запрос.Как установить параметры PUT в HTTP-клиенте Zend

Вот мой фрагмент кода:

$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», «имя», «пароль» и «вар» ранее в коде.

+0

Было бы неплохо, если бы вы могли включить ошибку, которую вы получаете. – shevron

ответ

1

Пока вы не указали ошибку, в Zend_Http_Client нет такого метода, как $client->setParameterPut().

Запросы PUT не имеют семантики параметров. Чтобы отправить контент в запросе PUT, вы, скорее всего, захотите использовать $client->setRawData($data, $enctype), где $data - это ваши данные, то есть параметры, закодированные в какой-либо форме, и $enctype - это тип содержимого, который является необязательным, но рекомендуется или требуется большинством API.

+0

Как правило, RTFMing всегда хорошая идея;) – shevron

+0

Не установленRawData() используется для данных xml/json/zip? Я пытаюсь передать переменную, значение которой является динамическим. – user2509780

+0

@ user2509780 данные могут быть любыми, что вы хотите, статическими или динамическими. Если вы передаете «параметры», они должны быть каким-то образом закодированы (например, url-encoded, как используется в стандартных HTML-формах), и ваш сервер должен знать, как их декодировать, но пока это известно, содержимое может быть чем угодно. – shevron

Смежные вопросы