① 如何通過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。