Я работаю с JIRA API, но когда я позвонил curl, получаю ошибку 401. Пожалуйста, дайте мне, где была моя ошибка.
Ответ:
Unauthorized (401)
Encountered a "401 - Unauthorized" error while loading this page.
Мой код указан ниже:
$username = '********@gmail.com';
$password = '********';
$url = 'https://vikasxtreem.atlassian.net/rest/api/2/issue/JRA-9';
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
$issue_list = (curl_exec($curl));
echo $issue_list;
Вы должны сами создать и отправить основные заголовки аутентификации. Для этого вам необходимо выполнить следующие шаги:
Сделайте запрос следующим образом:
curl -D- -X GET -H "Authorization: Basic ZnJlZDpmcmVk" -H "Content-Type: application/json" "https://vikasxtreem.atlassian.net/rest/api/2/issue/JRA-9"
И, как уже упоминалось, при следующем звонке:
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
добавлять
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
к списку вариантов.
Также проверьте, проходите ли вы через прокси, который тоже требует аутентификации.