我正在尝试通过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)
请求标头如下所示:
答案 0 :(得分:1)
我尝试了您的代码,但它给了我错误。尝试像这样声明httpOptions,以查看其是否有效
httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic ' + btoa(this.username + ':' + '')
})
};
答案 1 :(得分:1)
HttpHeaders
是不可变的类型,这意味着append
返回HttpHeaders
的新实例而不是修改现有版本。在您的代码示例中,您实际上并未设置Content-Type
和Authorization
标头。您可以使用以下命令正确设置标题:
const headers_object = new HttpHeaders({
'Content-Type': 'application/json',
Authorization: 'Basic ' + btoa(environment.CVRTOKEN + ':')
});