加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

可以在Angular2中设置http使用的User-Agent标头吗?

发布时间:2020-12-17 17:08:09 所属栏目:安全 来源:网络整理
导读:这不是世界末日,但它会是一件好事. 目前正在使用Ionic 2构建混合应用程序,我正在向服务器API发送请求. 我想让User Agent字符串报告应用程序和版本(以及平台),例如MyApp V1.0(iOS). 目前我发送的请求如下: http.post(my_server_url,JSON.stringify(dataToSen
这不是世界末日,但它会是一件好事.

目前正在使用Ionic 2构建混合应用程序,我正在向服务器API发送请求.

我想让User Agent字符串报告应用程序和版本(以及平台),例如MyApp V1.0(iOS).

目前我发送的请求如下:

http.post(my_server_url,JSON.stringify(dataToSend),options)

options对象构造如下:

let options = {
    headers: myHeaders
};

标题构造如下:

let myHeaders = new Headers();
headers.append('Content-Type','application/json');
headers.append('User-Agent','MyApp V1.0 (iOS)');

用户代理是使用特定于平台的数据构建的,以上只是用于此问题的直接字符串.

请求按预期工作,数据由服务器接收并相应地执行.服务器发送一个适当处理的适当请求.但是,当我检查实际发送的标头时,User-Agent不是我设置的标头.

例如,在iPhone上,我看到以下用户代理(通过Safari开发人员工具和服务器日志进行检查):

Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML,like Gecko)

这是基于正在使用的包装webview.因此,我猜测有一些机制阻止我覆盖用户代理.

作为同一个应用程序的一部分,我正在上传文件并使用cordova file transfer plugin.我为该传输设置了标头(不使用Angular http),并且在服务器日志中正确报告了用户代理.

因此,正如问题所述,有没有办法使用Angular http设置自定义User-Agent标头?

解决方法

浏览器不允许覆盖用户代理标头.您可以安装浏览器扩展程序.

另见JQuery Ajax Request: Change User-Agent

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读