Descobrir Sistema Operacional Usado

12 respostas
A

Pessoal alguem sabe se existe alguma maneira de descobrir o sistema operacional usado pelo cliente que está acessando a aplicação web?
Se existe alguem pode me dar alguma dica.

algo como o site www.omeuip.com

procurei no google ou mesmo no guj mas não encontrei nada.

Obrigado.

12 Respostas

A

Existe um cabeçalho HTTP (User-Agent) que identifica.

Mas é facilmente falsificável e jamais deve ser usado para estatísticas “sérias”.

D
Se vc quiser tentar este codigo aqui mas acho que não aparece o sistema operacional, tirei do livro do Edson Gonçalves.
Enumeration e=request.getHeadersNames();
while(e.hasMoreElementes()){
String cabecalho=(String)e.nextElement();
String html="<strong>"+cabecalho+":</strong>+
request.getHeader(cabebalho);
html="<br/>"


}
D

se der certo ou se vc já tiver tentado isso por favor posta ai.

X

Não sei se ajuda, mas a JVM consegue identificar através da linha:

private String osName = System.getProperty("os.name");

Usei esta propriedade em uma aplicação desktop, entao nao sei se funcionará em uma aplicação Web.

B

XpLoDeR:
Não sei se ajuda, mas a JVM consegue identificar através da linha:

private String osName = System.getProperty("os.name");

Usei esta propriedade em uma aplicação desktop, entao nao sei se funcionará em uma aplicação Web.

Na verdade isso não irá funcionar em aplicações WEB, este comando retornará o OS do servidor e não do cliente.

A única maneira é no header do pacote http.

P

É claro que vc pode criar um applet ou flash que tenta detectar estas e outras informações e informa via ‘ajax’ por exemplo. Acho que até javascript deve conseguir.

B

Mas para isso o applet terá que ser assinado… acho q nao vale a pena… acessar recursos da máquina com applet sem assinar não dá.

A

Pessoal vou tentar as dicas que me passara…logo posto o resultado…
o System.getProperty(“os.name”) eu ja até sabia que não dava, ele me retorna o nome do S.O em que a aplicação está hospedada.
Mas vou testar as outras opções…

A

O comando getHeaderNames() até traz a versão …windows NT XX, mas não é nada confiável…
que por exemplo se eu acessar de um windows vista e de um windows server 2008 por exemplo ele traz a mesma versão.

X

via javascrip pode ser?

function browser() {

nome = navigator.appName
versao = navigator.appVersion

document.write("&lt;center&gt;&lt;tt&gt;<b>Você Está Navegando No <font color=blue>"+nome+"</font> Versão <font color=blue>"+versao+"</font></b>&lt;/tt&gt;&lt;/center&gt;")

}

que viagem, o js serve para descobrir o browser, foi mal heheheh

D

Por favor se conseguir posta ai.
Obrigado por tentado minha opção.

M

XpLoDeR, esse código dentro de uma página JSP retornaria o S.O. utilizado no servidor Web, não o da máquina do cliente.

Criado 1 de janeiro de 2009
Ultima resposta 10 de set. de 2012
Respostas 12
Participantes 8