【问题标题】:HttpHeaders - Authorization - username:password - Dont WorkHttpHeaders - 授权 - 用户名:密码 - 不工作
【发布时间】:2019-04-23 10:28:42
【问题描述】:

我的标题有问题 - 如果密码为空白,应该这样吗? 会有另一种方法来做到这一点,因为这对我不起作用

非常感谢

constructor(private http: HttpClient) {
}

getUsers() {
    const headers = new HttpHeaders();
    headers.set('Authorization', 'Basic ' + btoa('Usermame' + ':' + ''));

    this.http.get(this.url, { headers })
        .subscribe(
            data => console.log(data),
            err => console.log(err)
        );
}

我的代码有错误?

这是结果

请求方法:GET 状态码:401 远程地址:168.63.53.239:443 推荐人政策:降级时无推荐人 访问控制允许标头:授权,x-goog-authuser 访问控制允许方法:POST、GET、OPTIONS、PUT、DELETE 访问控制允许来源:* 允许:POST、GET、OPTIONS、PUT、DELETE

【问题讨论】:

  • 在邮递员的基本身份验证中完美运行并为我带来所有数据
  • 你能把你放在邮递员上的身份验证令牌发送出去吗?

标签: angular


【解决方案1】:

我相信这实际上是由于 Angular 发送的预检请求而发生的。需要在服务器 API 上启用 CORS。您可以在下面的链接中阅读有关 CORS 的信息...

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

希望这会有所帮助!

【讨论】:

  • 我正在使用 chrome 插件 Allow-Control-Allow-Origin: *
  • 我认为该错误源自 API 服务器。我相信您还需要在服务器上设置 CORS。
【解决方案2】:

这是一个解决方案

getUsers() {
    const url = 'Your URL';

    const headers = new HttpHeaders()
        .set('Authorization', 'Basic ' + btoa('username' + ':' + 'password'));

    return this.http.get(url, {headers});
}

HttpHeaders 类表示 HTTP 请求的标头配置选项。实例应该被假定为具有惰性解析的 INMUTABLE。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-16
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    相关资源
    最近更新 更多