Установите CURL для вызова REST API - PullRequest
0 голосов
/ 23 марта 2012

Я пытался настроить вызов cURL к REST API в течение нескольких дней (см. Мои предыдущие темы), и все же он не будет работать ...

Хотя то, что мне нужно, довольно просто:
Мне нужно сделать вызов с методом POST на URL. Этот URL требует аутентификации (которая, согласно документации, должна проходить через HTTP-заголовки с использованием функции GET). И, кроме того, мне нужно установить тело (<searchCriteriaSorting></searchCriteriaSortin), и я должен использовать Content-Type: application/xml и Charset=UTF-8.

Не больше, не меньше. По мнению автора API, все должно быть очень просто. Но мне и моим коллегам не удается создать прочную связь с этим API.

1 Ответ

6 голосов
/ 04 апреля 2012

Для использования аутентификации вы можете использовать опцию cURL CURLOPT_USERPWD.Чтобы определить, что вы хотите использовать POST, используйте опцию cURL CURLOPT_POST.Чтобы установить требуемые заголовки, вы можете использовать опцию cURL CURLOPT_HTTPHEADER.Наконец, вы должны установить тело запроса HTTP POST, используя опцию cURL CURLOPT_POSTFIELDS, где $ xml - это ваш контент XML.

/* init cURL session */
$ch = curl_init();
...
/* set password */
curl_setopt($ch, CURLOPT_USERPWD, "loginname:passwort");
/* use method POST */
curl_setopt($ch, CURLOPT_POST, true);
/* set header 'Content-Type' */
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=UTF-8'));
/* set HTTP body */
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
...
/* exec cURL request */
curl_exec($ch);
curl_close($ch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...