① 如何通过JS程序判断UA
<scripttype="text/javascript">
/**
*[judgeOs用户代理判断]
*@return{[type]}[description]
*/
functionjudgeOs(){
varua=navigator.userAgent,
isWindowsPhone=/(?:WindowsPhone)/.test(ua),
isSymbian=/(?:SymbianOS)/.test(ua)||isWindowsPhone,
isandroid=/(?:Android)/.test(ua),
isFireFox=/(?:Firefox)/.test(ua),
isChrome=/(?:Chrome|CriOS)/.test(ua),
//平板
isTablet=/(?:iPad|PlayBook)/.test(ua)||(isAndroid&&!/(?:Mobile)/.test(ua))||(isFireFox&&/(?:Tablet)/.test(ua)),
isPhone=/(?:iPhone)/.test(ua)&&!isTablet,
isPc=!isPhone&&!isAndroid&&!isSymbian;
return{
isTablet:isTablet,
isPhone:isPhone,
isAndroid:isAndroid,
isPc:isPc
};
},
//资料参考HTML5学堂
</script>
② 浏览器标识(ua)设置
1、首先,我们打开我们的手机,然后我们点击手机桌面上的浏览器。
③ 如何准确地判断手机的UA
标准判断规则: Mobile Android has “Mobile” string in the User-Agent header. Tablet Android does not.
在Android设备UA字符串中,移动设备包含 Mobile 字符串,而平板设备没有。
旁征博引
在最初的Android设备(即手机)中UA字符串中包含着 android ,所以那时候可以使用检测UA字符串中是否包含(不区分大小写) android 来判断。
但是后来一个新的Android设备出现了,就是Android平板,不幸的是,Android平板上的UA也包含android,而对于平板上更适合展示桌面(PC)的网页版式。而如果仅仅以上述的判断规则,会给平板用户带来不是很好的用户体验。
鉴于上述问题,Google的Android工程师提出了一个解决方案。对于引导到移动版式的设备,即手机,需要从UA字符串中同时判断是否包含 mobile 和android 这两个单词。我们先看一些示例。
比如这个UA字符串
Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
因为这个UA字符串中没有mobile,所以需要把它引导到桌面版式(或者一个为Android大屏设备定制的版式)。从这个UA字符串中我们可以了解到,它来自一个大屏设置,即摩托罗拉的XOOM平板。
我们再看另一个UA字符串
Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
包含了mobile和android,所以把这台Nexus One手机导向到移动版式吧。
相信通过上面两个UA字符串对比,你发现了UA的一些共性了吧,我们看看这些共性吧。
最后
所以,当你依据检测UA来判断Android手机设备,请同时检查android和mobile两个字符串。
④ 怎么把电脑浏览器改成安卓ua
你可以用360软件管家下一个安卓程序模拟器,然后装一个Ua
⑤ 安卓版火狐浏览器怎么更改UA设置
火狐浏览器修改UA的方法:
1.首先在址栏输入about:config;
2.点击打开,添加一个新设置;
3.在设置点击选择类型:字符串;
4.输入名称:general.useragent.override;
5.输入值:Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5;
6.输入完毕,就可以点击确定,并打开测试和使用了。
⑥ 安卓版uc浏览器7.7网络设置项中浏览器标识ua和代理服务设置是干什么的,能解释解释么
您好!我是网络知道UC浏览器企业平台客服,我是来帮您解决使用UC浏览器过程中遇到的问题的。
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。
具体您可以查看:http://ke..com/view/3398471.htm
而关于代理服务器,代理的目的为使国内用户更快地访问国外网站,避免因网络问题导致无法打开的情况。
该项设置不需要友友自己设置代理,您只需要在系统设置里修改使用、或不使用即可。
如果您访问国外网站出现异常,可尝试修改该设置;
建议国内用户访问国内网站时不要使用,否则不但没什么作用,反而会令网速更慢呢。
感谢您的支持,祝您生活愉快!
欢迎在网络知道UC浏览器企业平台向我提问的:http://..com/c/ucbrowser
⑦ 如何获得Android的USER Agent-Android开发问答
论坛里有几个人发了一些代码,如何获得UA,但是自己都实践过了一遍,一个都不行。最近做OPHONE的项目,跟移动终端的人打了不少交道,了解了一些相关知识,这里把权威的解决方案发布出来。 我不是方法的发明者,但是我是方法的实践者。顺便也在这里感谢相关的人。
原理:
OPHONE的UA存放位置:
1)OPHONE 1.0和1.5 存放于/opl/etc/properties.xml
1)OPHONE 2.0 存放于/opl/etc/proct_properties.xml
大家可以通过下面的步骤自己查看:
1),连上手机,或者模拟器。
2),输入 adb shell
3),输入 cd opl
4),输入 cd etc
5),输入 cat properties.xml (或者cat proct_properties.xml 【OPHONE2.0】)
结果如下图:
ophone.png (6 KB)
ophone ua
2010-08-24 14:09
以上就是properties.xml的内容,接下来就是获得这个UA,加到自己的联网请求里去。
我自己写了一个,适用于目前3个版本的OPHONE。
AndroidPlatform.java
package com.***.****;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
public class AndroidPlatform {
public static final String KEYSTRING_USER_AGENT = "user_agent_key";
public static String getUAFromProperties()
{
try {
FileInputStream is = getPropertyStream();
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
byte buf[] = new byte[1024];
for(int k = 0; -1 != (k = is.read(buf));)
bytearrayoutputstream.write(buf, 0, k);
String fileString = new String(bytearrayoutputstream.toByteArray(), "UTF-8");
return getProperties(KEYSTRING_USER_AGENT, fileString);
//System.out.println("IS FILE Android Platform " + bytearrayoutputstream.size() + " "+());
} catch (Exception e) {
// TODO: handle exception
System.out.println("IS FILE erororo");
e.printStackTrace();
}
return null;
}
public static FileInputStream getPropertyStream()
{
try {
File property = new java.io.File("/opl/etc/properties.xml");
if(property.exists())
{
return new FileInputStream(new java.io.File("/opl/etc/properties.xml"));
}
else
{
property = new java.io.File("/opl/etc/proct_properties.xml");
if(property.exists())
{
return new FileInputStream(new java.io.File("/opl/etc/proct_properties.xml"));
}
else
{
return null;
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
public static String getProperties(String key, String content)
{
String STARTKEY = "<"+key+">";
String ENDKEY = "</"+key+">";
content = content.replace("\r", "");
content = content.replace("\n", "");
int startIndex = content.indexOf(STARTKEY) + STARTKEY.length();
int endIndex = content.indexOf(ENDKEY);
if(startIndex > -1 && endIndex > -1)
{
return content.substring(startIndex, endIndex);
}
else
return null;
}
}
联网请求时,加入UA即可,这样就做到了自动适配了。具体如下:
private int CountMoneyCMWAPNEWWAY(String urlstr)
{
String strHead = "";
try{
if(!GameLet._self.isNetworkCMWAPAvailable())
{
GameLet._self.ActiveNetWorkByMode("wap");
Thread.sleep(5000);
}
int splashIndex = urlstr.indexOf("/", 7);
String hosturl = urlstr.substring(7, splashIndex);
String hostfile = urlstr.substring(splashIndex);
HttpHost proxy = new HttpHost( "10.0.0.172", 80, "http");
HttpHost target = new HttpHost(hosturl, 80, "http");
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 20 * 1000);
HttpConnectionParams.setSoTimeout(httpParams, 20 * 1000);
HttpConnectionParams.setSocketBufferSize(httpParams, 8192);
HttpClientParams.setRedirecting(httpParams, true);
String userAgent = AndroidPlatform.getUAFromProperties();
HttpProtocolParams.setUserAgent(httpParams, userAgent);
DefaultHttpClient httpclient = new DefaultHttpClient(httpParams);
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
HttpGet req = new HttpGet(hostfile);
HttpResponse rsp = httpclient.execute(target, req);
HttpEntity entity = rsp.getEntity();
InputStream inputstream = entity.getContent();
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
byte abyte1[] = new byte[1024];
for(int k = 0; -1 != (k = inputstream.read(abyte1));)
bytearrayoutputstream.write(abyte1, 0, k);
strHead = new String(bytearrayoutputstream.toByteArray(), "UTF-8");
httpclient.getConnectionManager().shutdown();
}
catch (Exception e) {
return 2;
}
if(strHead.indexOf("status=1301") > -1 || strHead.indexOf("status=1300") > -1)
{
return 1;
}
else
{
return 0;
}
}
转载
⑧ 如何获取Android手机UA
加上一句:
mWebView.getSettings().getUserAgentString();
希望对您有所帮助,望采纳!
⑨ 有什么手机浏览器能自定义ua,急求,安卓的
VIA浏览器,有输入框,可以随意自定义UA。