gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:57:36 25 4
gpt4 key购买 nike

这不是世界末日,但是很高兴

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

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

目前我发送的请求如下:

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

选项对象构造为:

let options = {
headers: myHeaders
};

header 构造为:

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

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

请求按预期工作,服务器接收数据并据此采取行动。服务器发送适当的请求,该请求得到妥善处理。但是,当我检查实际发送的 header 时,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为了那个原因。我为该传输设置了 header (未使用 Angular http),并且在服务器日志中正确报告了用户代理。

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

最佳答案

浏览器不允许覆盖用户代理 header 。您可以安装允许的浏览器扩展程序。

另见 JQuery Ajax Request: Change User-Agent

关于angular - 可以在 Angular2 中设置 http 使用的 User-Agent header 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39999687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com