Аутентификация завитка Deepcrawl ответ null? - PullRequest
0 голосов
/ 03 октября 2018

Чтобы аутентифицировать вызовы API, вы должны сначала сгенерировать сеанс для получения токена.Затем необходимо отправить маркер сеанса в качестве значения заголовка X-Auth-Token для аутентификации вызовов API.

Чтобы создать сеанс, сначала необходимо сгенерировать ключ API вручную.Это пара ключ / значение, которая может быть сгенерирована на странице доступа к API.Когда вы нажмете «Создать новый ключ API», появится всплывающее окно со значением «Ключ API», а в таблице «Активные ключи» вы найдете идентификатор ключа API.Затем он отправляется с помощью обычной проверки подлинности в POST-вызове на маршрут сеансов.

Я уже следовал этой документации API глубокого сканирования, но что я делаю неправильно?

У меня есть X-Auth-Token и API KEY ID, куда мне положить это?нулевое значениеЛюбая идея / мысли, как я могу это исправить.Заранее спасибо.

1 Ответ

0 голосов
/ 03 октября 2018

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...