Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
andreaxl

Ajuda em ASP

Recommended Posts

Pessoal, to precisando disso urgente. Preciso de uma função em ASP para pegar o sistema operacional do cliente q está acessando a página. Existe como eu usar o Request.ServerVariables("HTTP_USER_AGENT"), mas este retorna uma string com vários parâmetros e todos despadronizados além de retornar os sistemas operacionais assim: windows 5.1, windows 5.0. Alguém conhece alguma função que resolva meu problema?

Muito obrigado.

André Aguiar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, acho que a única variável que retorna s.o. na coleção "ServerVariables" é essa mesmo.

Tente algo assim:

Function RetornarOS(OS)

   

    Dim PosicaoInicial, PosicaoFinal

   

    PosicaoInicial = InStr(1, OS, "Windows", 1)

       

    If Not PosicaoInicial = 0 Then

       

        PosicaoFinal = InStr(PosicaoInicial, OS, ";", 1)

       

        If PosicaoFinal = 0 Then

            PosicaoFinal = InStr(PosicaoInicial, OS, ")", 1)

        End If

       

        RetornarOS = Mid(OS, PosicaoInicial, (PosicaoFinal - PosicaoInicial))

   

    Else

       

        RetornarOS = "[falha ao identificar Sistema Operacional]"

       

    End If

   

    Select Case RetornarOS

    Case "Windows NT 5.0"

        RetornarOS = "Microsoft Windows 2000"

    Case "Windows NT 5.1"

        RetornarOS = "Microsoft Windows XP"

    Case "Windows NT 4.0"

        RetornarOS = "Microsoft Windows NT"

    Case Else

        RetornarOS = "Microsoft Windows 95, 98"

    End Select

   

End Function

Response.Write "Sistema Operacional: " & RetornarOS(Request.ServerVariables("HTTP_USER_AGENT"))

%>

Obs.: na estrutura "Select Case" eu acho melhor você verificar se os nomes dos s.o. coincidem com as versões que eu coloquei, pois eu só fiz assim para exemplo. Mas eu acho que os dois primeiros estão certos.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Oh Clemente, brigadão... acho q a solução já está começando a ficar pronta.. gostaria de saber agora se existe mesmo uma padronização para estes sistemas operacionais.. exemplo: se cliente rodando windows 2000 acessar a página irá retorna sempre windows 5.0 ou tem mais algum, tipo windows 5.0.1. Isto é um exemplo, se alguém souber e puder me ajudar com essa padronização.

    Obrigado.

    André Aguiar.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    se cliente rodando windows 2000 acessar a página irá retorna sempre windows 5.0 ou tem mais algum, tipo windows 5.0.1.

    Os navegadores respeitam a regra de "padronização" e sempre enviam o nome correto do sistema. O Windows 2000 é realmente o Windows NT 5.0 -- "2000" foi apenas um golpe de marketing da Microsoft (que ficou sabendo que a maioria das pessoas não gostava do nome "NT" pois parecia ser velho).

    Acontece que hoje em dia o uso de firewalls e filtros acaba mudando o user-agent. Vários firewalls modificam o user-agent para Netscape4 (Mozilla 4.0 Compatible) para adicionar mais "privacidade". Portanto, em alguns casos, os dados enviados pelo navegador serão modificados antes de enviados -- não pelo navegador, mas por sistemas de segurança e privacidade, logo fazendo com que a função que detecta o OS não funcione perfeitamente.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • FallenHawk, muito obrigado pela resposta. Realmente sei que vai ser difícil fazer o que eu quero, que são as estatisticas de visita de um site (sei q existem aplicações prontas para isso, mas a empresa em q trabalho está vendendo uma aplicação deste tipo, ai já viu né). De qualquer forma, se alguem souber de uma aplicação que roda assim de maneira legal e q já tenha as funções já prontas vou agradecer demais.

    Obrigado.

    André Aguiar.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×