Я пытаюсь получить доступ к API, но инструкции, которые мне дали, написаны для ruby, с которым я не знаком. Я пишу на PHP и после некоторой помощи в переводе инструкций:
GET /webservice/parties HTTP/1.1
Host: http://subdomain.domain.com
Authorization: Basic YXBpOmZhYTFmYmMwN2Q1MTczNTI3NGFj
Дополнительные инструкции: имя пользователя при отправке должно быть «api»
Извинения, если вопрос рудиментарен, неясен или уже дан ответ где-то еще. И заранее спасибо.
Попробуйте что-то вроде:
$username = 'api';
$password = 'YXBpOmZhYTFmYmMwN2Q1MTczNTI3NGFj';
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://subdomain.domain.com/webservice/parties',
CURLOPT_USERAGENT => 'Stack Overflow Example Agent',
CURLOPT_USERPWD => $username . ":" . $password
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
Вы также можете проверить Как мне сделать запрос, используя базовую аутентификацию HTTP с PHP curl?
Я лично предпочитаю использовать Клиентская библиотека Guzzle который может выглядеть так:
use GuzzleHttp\Client;
$username = 'api';
$password = 'YXBpOmZhYTFmYmMwN2Q1MTczNTI3NGFj';
$client = new Client([
'base_url' => ['http://subdomain.domain.com/webservice/parties'],
'defaults' => [
'auth' => [$username, $password]
]
]);
Других решений пока нет …