Я пытаюсь получить доступ к 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]
]
]);