Red de conocimiento informático - Aprendizaje de programación - ¿Cómo determina el fondo de Java si un teléfono móvil o una computadora accede al sitio web?

¿Cómo determina el fondo de Java si un teléfono móvil o una computadora accede al sitio web?

public?class?HttpRequestDeviceUtils?{

/**?Información de descripción única en la puerta de enlace Wap ¿A través de información de encabezado?*/

private?static?String ? mobileGateWayHeaders[]?=?new?String[]?{?"ZXWAP", //La información de vía de la puerta de enlace wap proporcionada por ZTE, por ejemplo: Via=ZXWAP

//?GateWayZTE

//?Technologies,

"chinamobile.com", ///?puerta de enlace wap Nokia de China Mobile, por ejemplo: Via=WTP/1.1

// ?GDSZ -PB-GW003-WAP07.gd.chinamobile.com?(Nokia

//?WAP?Gateway?4.1?CD1/ECD13_D/4.1.04)

"monternet .com ", //?Puerta de enlace de Monternet, por ejemplo: Via=WTP/1.1

//?BJBJ-PS-WAP1-GW08.bj1.monternet.com.?(Nokia?WAP

//?Gateway?4.1?CD1/ECD13_E/4.1.05)

"infoX", //?puerta de enlace wap proporcionada por Huawei, por ejemplo: Via=HTTP/1.1?GDGZ- PS -GW011-WAP2?(infoX-WISG

//?Huawei?Technologies), o Via=infoX?WAP?Gateway?V300R001

//?Huawei?Technologies

"XMS?724Solutions?HTG", //? La puerta de enlace wap de un operador de telecomunicaciones extranjero, no sé cuál es

"wap.lizongbo.com", / /? Simulado durante mi propia prueba La información del encabezado

"Bytemobile", // parece ser una solución para que Internet móvil mejore la eficiencia de la operación de la red, por ejemplo: Via=1.1?Bytemobile?OSN

// ?WebProxy/5.1

};

/**?Palabra clave User-Agent para el navegador IE o Firefox en su computadora?*/

privado ?static?String[]?pcHeaders?=?new?String[]?{?"Windows?98",

"Windows?ME",?"Windows?2000",? "Windows?XP",?"Windows?NT",?"Ubuntu"?};

/**?Palabras clave en el User-Agent del navegador móvil?*/

private? static?String[]?mobileUserAgents?=?new?String[]?{?"Nokia", //Nokia, algunos teléfonos imitadores también escriben esto, sigue siendo un teléfono móvil, Mozilla/5.0

//?(Nokia5800

//?XpressMusic)UC

//?AppleWebkit(como

//?Gecko)

//?Safari/530

"SAMSUNG", //?Teléfono móvil Samsung

//?SA

MSUNG-GT-B7722/1.0 SHP/VPP/R5 Dolfin/1.5 Nextreaming SMM-MMS/1.2.0 perfil/MIDP-2.1 configuración/CLDC-1.1

"MIDP-2", ///?j2me2 .0, Mozilla/5.0?(SymbianOS/9.3;?U;?Series60/3.2

//?NokiaE75-1?/110.48.125?Profile/MIDP-2.1

//Configuración/CLDC-1.1?)?AppleWebKit/413?(KHTML?like

//?Gecko)?Safari/413

"CLDC1.1", // ?M600/MIDP2.0/CLDC1.1/Screen-240X320

"SymbianOS", //?Sistema Symbian,

"MAUI", //?Máquina copiadora MTK El valor predeterminado ua

"UNTRUSTED/1.0", //?Se sospecha que ua es una máquina imitadora, es básicamente un teléfono móvil

"Windows?CE", //Windows ?CE, Mozilla /4.0?(compatible;?MSIE?6.0;

//?Windows?CE;?IEMobile?7.11)

"iPhone", //?¿Es el ¿iPhone también se convirtió a wap? Ignóralo, diferéncialo primero y luego habla de ello.

Mozilla/5.0?(iPhone;?U;?CPU

//?iPhone?OS?4_1?like?Mac?OS?X;?zh-cn)?AppleWebKit/532.9

//?(KHTML?like?Gecko)?Mobile/8B117

"iPad", //?iPad ua, Mozilla/5.0?(iPad;?U;?CPU?OS?3_2 ? como?Mac?OS?X;

//?zh-cn)?AppleWebKit/531.21.10?(KHTML?like?Gecko)

//?Version/4.0 . 4?Mobile/7B367?Safari/531.21.10

"Android", //¿Android también convierte a wap? Mozilla/5.0?(Linux;?U;?Android

//?2.1-update1;?zh-cn;?XT800?Build/TITA_M2_16.22.7)

//? AppleWebKit/530.17?(KHTML?like?Gecko)?Version/4.0

//?Mobile?Safari/530.17

"BlackBerry", //BlackBerry8310/2.7.0.106- 4.5.0.182

"UCWEB", ///? ¿UCweb solo proporciona páginas wap? ?Nokia5800

//?XpressMusic/UCWEB7.5.0.66/50/999

"ucweb", //?La ucweb en minúscula parece ser el servidor proxy de uc Mozilla/6.0? (compatible;?MSIE?6.0;)

//?Opera?ucweb-squid

"BREW", //Muy extraño ua, por ejemplo: REW-Applet/0x20068888 ?(BREW/3.1.5.20;?DeviceId:

//?40105;?Lang:?zhcn)?ucweb-squid

"J2ME", //muy extraño ua , solo cuatro letras J2ME

"YULONG", //?Teléfono móvil Yulong, YULONG-CoolpadN68/10.14?IPANEL/2.0?CTC/1.0

"YuLong",/ /? O Yulong

"COOLPAD", ///?Yulong Coolpad YL-COOLPADS100/08.10.S100?POLARIS/2.9?CTC/1.0

"TIANYU", // ?Tianyu teléfono móvil TIANYU-KTOUCH/V209/MIDP2.0/CLDC1.1/Screen-240X320

"TY-", //?Tianyu, TY-F6229/701116_6215_V0230?JUPITOR/2.2?CTC/1.0

"K-Touch", //? O Tianyu K-Touch_N2200_CMCC/TBG110022_1223_V0801?MTK/6223

//?Release/30.07.2008?Browser/WAP2.0

"Haier", //Teléfono móvil Haier, Haier-HG-M217_CMCC/3.0?Release/12.1.2007

//?Bro

wser/WAP2.0

"DOPOD", //?Teléfono móvil Dopod

"Lenovo", //Teléfono móvil Lenovo, Lenovo-P650WG/S100?LMP/LML? Versión/ 2010.02.22

//?Profile/MIDP2.0?Configuration/CLDC1.1

"LENOVO", ///?Teléfono móvil Lenovo, como: LENOVO-P780 /176A

"HUAQIN", //?Teléfono móvil Huaqin

"AIGO-", //?Patriot también lanzó un teléfono móvil, AIGO-800C/2.04?TMSS-BROWSER /1.0.0?CTC/1.0

"CTC/1.0", //?Significado desconocido

"CTC/2.0", //?Significado desconocido

"CMCC ", //Teléfono móvil personalizado, K-Touch_N2200_CMCC/TBG110022_1223_V0801?MTK/6223

//?Release/30.07.2008?Browser/WAP2.0

"DAXIAN", //teléfono móvil Daxian DAXIAN? .20?Release/8.4.2006

//?Browser/Opera8.00?Profile/MIDP2.0?Configuration/CLDC1.1

//?Software/R533_G_11.10.54 R

"SonyEricsson",//?Teléfono móvil Sony Ericsson,SonyEricssonP990i/R100?Mozilla/4.0

//?( compatible;?MSIE?6.0;?Symbian?OS;?405 )?Opera

//?8.65?[zh-CN]

"GIONEE", //Gionee Mobile

"HTC", //? teléfono móvil HTC

"ZTE", //? teléfono móvil ZTE, perfil ZTE-A211/P109A2V1.0.0/WAP2.0 p>

"HUAWEI", ///? teléfono móvil Huawei,

"webOS", ///?teléfono móvil palm, Mozilla/5.0?(webOS/1.4.5;?U;?zh -CN)

//?AppleWebKit/532.2?( KHTML?like?Gecko)?Version/1.0

//?Safari/532.2?Pre/1.0

"GoBrowser", //?3g?GoBrowser.User-Agent=Nokia5230 /GoBrowser/2.0.290

//?Safari

"IEMobile", //Windows ?El teléfono CE viene con un navegador,

"WAP2. 0"//?Soporte wap 2.0

};

/**

*? Según las características de la solicitud actual, determine si la solicitud proviene de una terminal de teléfono móvil, detecta principalmente información de encabezado especial y el encabezado de usuario-Agente.

*?

*?@param?request

*solicitud http

*?@retu

rn?Si se cumple la regla de función del teléfono móvil, se devuelve la cadena de función correspondiente

*/

public?static?boolean?isMobileDevice(HttpServletRequest?request)?{

boolean?pcFlag?=?false;

boolean?mobileFlag?=?false;

String?via?=?request.getHeader("Vía");

String?userAgent?=?request.getHeader("user-agent");

for?(int?i?=?0;?via?!=?null?amp ;amp ;?!via.trim().equals("")

amp;amp;?i?lt;?mobileGateWayHeaders.length;?i )?{

if ?( via.contains(mobileGateWayHeaders[i]))?{

mobileFlag?=?true;

break;

}

}

for?(int?i?=?0;?!mobileFlag?amp;amp;?userAgent?=?null

amp;amp;?!userAgent.trim ( ).equals("")?amp;amp;?i?lt;?mobileUserAgents.length;?i )?{

if?(userAgent.contains(mobileUserAgents[i]))?{

mobileFlag?=?true;

romper;

}

}

para?(int? i ?=?0;?userAgent?!=?null?amp;amp;?!userAgent.trim().equals("")

amp;amp;?i?lt;?pcHeaders. longitud ;?i )?{

if?(userAgent.contains(pcHeaders[i]))?{

pcFlag?=?true;

}

}

if?(mobileFlag?==?true?amp;amp;?mobileFlag?=?pcFlag)?{

return?true;

}

return?false;

}

}

Compartido del entusiasta de la programación Xiong Lang