【发布时间】:2019-08-30 03:54:30
【问题描述】:
我正在使用静态文件托管我的 Angular Web 应用程序并遇到 401 错误。
问题描述:
当您尝试加载我的 Web 应用程序时,它会提示输入用户名和密码,即使我输入了正确的用户名和密码,我也会收到 401 错误,在调试时我注意到 curl 请求没有附加用户名和密码,而请求,一旦我将用户名和密码添加到它通过的 curl 请求中(见下文),我如何确保 curl 请求获得通过 angular 附加的用户名和密码?
以下是我失败的 curl 请求
curl 'https://ibait.company.com/runtime-es2015.858f8dd898b75fe86926.js' -XGET -H 'Origin: https://ibait.company.com' -H 'Accept: */*' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15' -H 'Referer: https://ibait.company.com/'
<html>
<head><title>401 Authorization Required</title></head>
<body bgcolor="white">
<center><h1>401 Authorization Required</h1></center>
<hr><center>AppleHttpServer/54b48526</center>
</body>
</html>
只要我将用户名和密码添加到 curl 请求,它就会通过
curl -u username:password 'https://ibait.company.com/runtime-es2015.858f8dd898b75fe86926.js' -XGET -H 'Origin: https://ibait.company.com' -H 'Accept: */*' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15' -H 'Referer: https://ibait.company.com/'
更新(component.ts 中的示例 API 调用)
get_radar_lifecycle_data(){
this.http.get('https://radar-life-cycle.usspk02.hoster.company.com/api/radar_life_cycle',{params})
.subscribe(response => {
console.log("radar data:");
console.log(response);
this.newPost = response
});
}
【问题讨论】:
-
您需要在您提出请求的地方显示您的角度代码以获得答案。从 curl 命令提示符读出在这里是没有用的
-
@bryan60 - 我用 component.js 中的一个示例 API 调用更新了这个问题,如果您需要一段特定的角度代码,请告诉我
-
那个 params 对象是什么