uma dúvida…
se eu utilizar o System.getProperty(“os.name”);
dentro de um ou.println
quem estiver abrindo essa minha pagina vai ver o OS do servidor ou dele mesmo?
se for do servidor… tem como eu saber os dados do cliente?
System.getProperty
6 Respostas
a) Do Servidor
b) Se for uma página JSP ou um servlet existe um header do request que pode ser usado para checar isso (isso se o browser não “mentir” sobre o sistema operacional. )
o getheadernames me retornou as informações referentes a:
accept
accept-language
ua-cpu
accept-encoding
user-agent
host
connection
cookie
mas nada do SO… sabe como fazer?
user-agent tem várias informações, incluindo o nome do sistema operacional. Exemplo:
User-Agent: “Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0”
Neste caso o sistema operacional é Windows 2003, e estou usando o Firefox 2.0.
User-Agent: “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1)”
Neste caso o sistema operacional é Windows 2003, e estou usando o Internet Explorer 6.0. As seguintes versões do .NET Framework estão instaladas: 1.1.4322 e 2.0.50727
request.getHeader(<um_dos_parametros_do_getHeaderNames>);
é que o getProperty já retorna o nome certinho “Windows XP” por exemplo…
mas valew… problema resolvido
é que o getProperty já retorna o nome certinho “Windows XP” por exemplo…
“Certinho” é modo de dizer. Se você estiver usando o Windows Vista e um JDK ou JRE de um ou dois anos atrás ele vai lhe retornar algo como “Windows NT 5.3” ou coisa mais estranha ainda. (Não sei qual é a versão do Windows Vista, preciso arranjar uma cópia).