Angular 5 http с базовой аутентификацией не работает - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь сделать запрос http.get с аутентификацией basic, где у меня есть token в качестве имени пользователя и затем empty пароль

const  headers_object = new HttpHeaders();
headers_object.append('Content-Type', 'application/json');
headers_object.append('Authorization', 'Basic ' + btoa(environment.CVRTOKEN + ':'));

const httpOptions = {
    headers: headers_object
};
const url = 'https://rest.cvrapi.dk/v1/dk/suggestions/company/' + searchString;
return this.http.get(url, httpOptions);

Однако, похоже, это не работает. кто-нибудь может сказать мне, что я сделал не так?

При взгляде на консоль я получаю следующую ошибку:

VM3464:1 GET https://rest.cvrapi.dk/v1/dk/suggestions/company/3 401 (Unauthorized)

И заголовки запроса выглядят так:

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

HttpHeaders является неизменяемым типом, что означает, что append возвращает новый экземпляр из HttpHeaders вместо изменения существующей версии. В вашем примере кода вы фактически не устанавливаете заголовки Content-Type и Authorization. Для правильной установки заголовков вы можете использовать следующее:

const headers_object = new HttpHeaders({
    'Content-Type': 'application/json',
    Authorization: 'Basic ' + btoa(environment.CVRTOKEN + ':')
});
0 голосов
/ 01 ноября 2018

Я попробовал ваш код, но он дает мне ошибки. Попробуйте объявить httpOptions, как это, чтобы увидеть, работает ли он

httpOptions = {
    headers: new HttpHeaders({
    'Content-Type':  'application/x-www-form-urlencoded',
    'Authorization': 'Basic ' + btoa(this.username + ':' + '')
   })
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...