DeepCrawl API
Похоже, вы пытаетесь сгенерировать токен, который, похоже, у вас уже есть.
Для аутентификации вызовов API,Вы должны сначала создать сеанс, чтобы получить токен.Затем вы должны отправить токен сеанса в качестве значения заголовка X-Auth-Token для аутентификации вызовов API.
Чтобы создать сеанс, сначала необходимо сгенерировать ключ API вручную.Это пара ключ / значение, которая может быть сгенерирована на странице доступа к API.Когда вы нажмете «Создать новый ключ API», появится всплывающее окно со значением «Ключ API», а в таблице «Активные ключи» вы найдете идентификатор ключа API.Затем он отправляется с помощью обычной аутентификации в POST-вызове на маршрут сеансов.
curl -X POST -u '123:abcdef' https://api.deepcrawl.com/sessions {
"token":"abcdef123", "_user_href":"/users/example-user", ... }
Не самый ясный, но он тут же.
$headers = [
'Content-Type: application/x-www-form-urlencoded',
'accept: text/html'
];
$username='yourusername';
$password='supersecret';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.deepcrawl.com/sessions");
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, "root=1");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// Get the response
$response = curl_exec($ch);
// Close cURL connection
curl_close($ch);
// Decode the response (Transform it to an Array)
return json_decode($response);
Это вернет что-то вроде
{
"token":"abcdef123",
"_user_href":"/users/example-user",
...
}
Так как у вас уже есть токен, вам не нужна сессия попаданий.Вы можете просто делать свои звонки.
$headers = [
'X-AUTH-TOKEN: your-api-key',
'accept: text/html'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.deepcrawl.com/system_statuses");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// Get the response
$response = curl_exec($ch);
// Close cURL connection
curl_close($ch);
// Decode the response (Transform it to an Array)
return json_decode($response);