![](/img/trans.png)
[英]Angular 2 http Observable request not returning response header
[英]Force value of 'Host' header in Angular $http request
我想访问托管在多站点服务器S上的API站点。我有S的ip地址,但是没有DNS服务器,因此我必须发出带有以下参数的http请求:
{
URL : 'http://192.168.1.xxx:80/data',
headers : {
Host : 'api.somesite.com'
},
data : ...
}
但是,在发送之前,“主机”标头会被Angular自动替换为“ 192.168.1.xxx”(因此请求失败)。 我已经尝试实现一个HTTP拦截器:
api.run(['$http',function($http) {
console.log("set host");
$http.defaults.headers.common.Host = "api.somesite.com";
}]);
...没有结果:服务器回答错误500,开发工具显示请求的标头“ Host”设置为ip地址。
另外,还有其他方法可以通过使用其ip(不使用DNS)向网站发出http请求吗?
Host
在XMLHttpRequest / fetch规范中定义为禁止的标头名称 ,因此无法从浏览器的JavaScript中进行设置。
解决DNS,按客户端编辑系统主机文件,或配置每个客户端以使用知道如何解析URL的HTTP代理是解决此问题的唯一方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.