Ionic3项目开发——发起定向HTTP请求

来源:互联网 发布:mac电脑中英文切换 编辑:程序博客网 时间:2024/06/06 01:17

ionic项目在手机中,在测试环境下往局域网的某服务器发起一个请求。如果发起一个http://www.a.com/test的请求,手机端又没有对这个域名的解析。以下有两个方法可以解决。

修改手机hosts文件

可以修改手机的hosts文件,实现特定的域名解析。但这个方法需要获取手机的root权限。我大华为不允许我这么搞啊。

修改请求头host字段

大家都知道http请求头内有许多字段,其中host字段的作用就是直接给定服务器。假设我的www.a.com对应的局域网ip为192.168.1.12。可以使用url为http://192.168.1.12/test并指定host字段为www.a.com。

然后发起请求后得到如下的错误:

Refused to set unsafe header "Host"

原因是w3c规定,当请求的header匹配一些不安全字符时,将被终止。而许多浏览器都遵循这个规定。

最终的解决办法也比较简单也比较偷懒,就是将原来的域名www.a.com也改成跟ip一样,这个就不需要另外定义了。如果觉得ip不好看,可以建立两个名字,用哪个都可以。