Как я выполняю запрос с помощью Базовой аутентификации HTTP с завихрением PHP?

Я создаю клиент веб-сервиса REST в PHP, и в данный момент я использую завихрение для выполнения запросов к сервису.

Как я использую завихрение для создания аутентифицируемым (http основной) запросы? Я должен добавить заголовки сам?

212
задан blank 23 February 2017 в 05:21
поделиться

3 ответа

Вы хотите это:

curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);  

Zend имеет клиент отдыха и zend_http_client, и я уверен, что груша имеет какой-то обертку. Но достаточно легко сделать самостоятельно.

Итак, весь запрос может выглядеть что-то подобное:

$ch = curl_init($host);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', $additionalHeaders));
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payloadName);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($ch);
curl_close($ch);
364
ответ дан 23 November 2019 в 04:29
поделиться

Yahoo имеет учебное пособие по созданию звонков на их службы отдыха с использованием PHP:

Сделать Yahoo! Веб-сервис Остальные звонки с PHP

Я не использовал его сам, но Yahoo Yahoo и должен гарантировать, по крайней мере, на некотором уровне качества. Они, кажется, не покрывают положить и удалять запросы.

Также пользователь предоставил заметки для Curl_Exec () , а другие содержат много хорошей информации.

4
ответ дан 23 November 2019 в 04:29
поделиться

В отличие от мыла, REST не является стандартизированным протоколом, поэтому немного сложно иметь «клиент отдыха». Тем не менее, поскольку самые спокойные услуги используют HTTP в качестве основного протокола, вы должны быть в состоянии использовать любую библиотеку HTTP. В дополнение к завиту, PHP имеет это через грушу:

http_request2

, который заменил

http_request

образец того, как они делают HTTP Basic Auth

// This will set credentials for basic auth
$request = new HTTP_Request2('http://user:password@www.example.com/secret/');

а также поддержка VACEST AUTH

// This will set credentials for Digest auth
$request->setAuth('user', 'password', HTTP_Request2::AUTH_DIGEST);
7
ответ дан 23 November 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: