Android 将PhoneGap/Cordova用户代理更改为AJAX
我正在使用phonegap/cordova开发Android应用程序 应用程序必须读取远程服务器上的文件。因此,我使用AJAX(jQuery)。 问题是:远程服务器将所有连接从移动设备重定向到移动版本,这对我不起作用,因此我必须将用户代理更改为桌面浏览器 我该怎么做?我见过。对于Android来说,这是可能的吗Android 将PhoneGap/Cordova用户代理更改为AJAX,android,jquery,cordova,user-agent,Android,Jquery,Cordova,User Agent,我正在使用phonegap/cordova开发Android应用程序 应用程序必须读取远程服务器上的文件。因此,我使用AJAX(jQuery)。 问题是:远程服务器将所有连接从移动设备重定向到移动版本,这对我不起作用,因此我必须将用户代理更改为桌面浏览器 我该怎么做?我见过。对于Android来说,这是可能的吗 编辑: 我自己找到了一个解决办法: 加上 WebSettings w = this.appView.getSettings(); w.setUserAgentString(
编辑: 我自己找到了一个解决办法: 加上
WebSettings w = this.appView.getSettings();
w.setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1");
到
onCreate
-method中的/src/com/a/b/c.java
。将其放在onCreate方法中:(在super.init()之后;)
这对我有用
有关更多设置,请参阅:如果您正在为cordova寻找更强大的http客户端,该客户端允许更改用户代理或任何相关的头,请尝试。它围绕着经过良好测试的本机网络库(ios上的AFNetworking 2和android上的OKHttp) 它还遵循window.fetch,因此您可以在模拟器和设备上使用
cordovaFetch
,同时在浏览器上使用fetch.js
进行测试
只需安装带有
cordova插件添加https://github.com/aporat/cordova-plugin-fetch.git
并在您发出的任何请求中包含用户代理标头
cordovaFetch('/users.json', {
method : 'GET',
headers: {
'User-Agent': 'your user agent'
},
})
这对我不起作用。有什么想法吗?你可以给自己的问题添加答案-你不必在问题本身中编辑答案。如果您再次编辑并这样做,将会更加整洁。@ninov我正在使用Cordova,但我没有任何.java文件。我们可以从javascript中调用它吗?截至2017年,它是否仍然有效?
cordovaFetch('/users.json', {
method : 'GET',
headers: {
'User-Agent': 'your user agent'
},
})