Variáveis de servidor em ASP

Vemos como obter uma lista de todas as variáveis do servidor em ASP, ou em inglês Server Variables. Realizando um percorrido genérico ao array request.servervariables.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 22/8/07
Valorize este artigo:
Em ASP existe uma coleção de variáveis de servidor ou variáveis de ambiente que podem ser interessantes para o programador. As variáveis do servidor oferecem informações relativas tanto ao próprio servidor web como ao cliente que está visitando a página.

Entre os dados que oferecem se encontram o nome do servidor, o nome do arquivo que se está executando, a IP do servidor, a do cliente que está solicitando a página, jogo de caracteres, navegador que utiliza o cliente, etc.

A coleção onde se encontram todas as variáveis do servidor se encontra no array de ASP request.servervariables. Existem muitos valores diferentes nesse array, cada um associado a um nome.

Por exemplo, para mostrar a IP do visitante colocamos:

<%=request.servervariables("REMOTE_ADDR")%>

Para conhecer o navegador do usuário colocaríamos:

<%=request.servervariables("HTTP_USER_AGENT")%>

Ou para ver a rota física onde está o arquivo ASP que se está executando, dentro da estrutura do sistema de arquivos do servidor (o disco rígido e a rota completa do arquivo .asp):

<%=request.servervariables("APPL_PHYSICAL_PATH")%>

Percorrido genérico ao array request.servervariables

Uma boa idéia para conhecer todas as variáveis que existem no array de variáveis de servidor é fazer um percorrido genérico a request.servervariables. Para fazer esse percorrido podemos utilizar um loop for each. Como isto:

for each variable in request.servervariables
    response.write "<br> " & variable & ": "
    response.write request.servervariables(variable)
next

Com isto mostraremos o nome de cada variável junto com o valor dessa variável. Assim, poderemos ver todas as variáveis que contem o array junto com o dado que armazenam e podemos nos dar conta dos dados que temos disponíveis.

O resultado de execução desse script em um de nossos servidores é o seguinte:

HTTP_CONNECTION:keep-alive
HTTP_KEEP_ALIVE:300
HTTP_ACCEPT:text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain; q=0.8,image/png,*/*; q=0.5
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING:gzip,deflate
HTTP_ACCEPT_LANGUAGE:es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_COOKIE:ASPSESSIONIDASTATCRD=GAJDKNCANGABJAPEOGBONGFN; ASPSESSIONIDAQSBSCRD=LAJDPPEADNEMHDBKOCLAIMAD
HTTP_HOST:www.dominio.com
HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
ALL_RAW: Cache-Control: max-age=0 Connection: keep-alive Keep-Alive: 300 Accept: text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding: gzip,deflate Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3 Cookie: ASPSESSIONIDASTATCRD=GAJDKNCANGABJAPEOGBONGFN; ASPSESSIONIDAQSBSCRD=LAJDPPEADNEMHDBKOCLAIMAD Host: www.dominio.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
APPL_MD_PATH: /LM/W3SVC/881/ROOT
APPL_PHYSICAL_PATH: C:\WWW\dominio.com\Html\
AUTH_PASSWORD:
AUTH_TYPE:
AUTH_USER:
CERT_COOKIE:
CERT_FLAGS:
CERT_ISSUER:
CERT_KEYSIZE:
CERT_SECRETKEYSIZE:
CERT_SERIALNUMBER:
CERT_SERVER_ISSUER:
CERT_SERVER_SUBJECT:
CERT_SUBJECT:
CONTENT_LENGTH: 0
CONTENT_TYPE:
GATEWAY_INTERFACE: CGI/1.1
HTTPS: off
HTTPS_KEYSIZE:
HTTPS_SECRETKEYSIZE:
HTTPS_SERVER_ISSUER:
HTTPS_SERVER_SUBJECT:
INSTANCE_ID: 881
INSTANCE_META_PATH: /LM/W3SVC/881
LOCAL_ADDR: 255.176.130.0
LOGON_USER:
PATH_INFO: /pruebas_dw/variables_server.asp
PATH_TRANSLATED: C:\WWW\dominio.com\dominio.com\Html\pruebas_dw\variables_server.asp
QUERY_STRING:
REMOTE_ADDR: 1.17.117.37
REMOTE_HOST: 1.17.117.37
REMOTE_USER:
REQUEST_METHOD: GET
SCRIPT_NAME: /pruebas_dw/variables_server.asp
SERVER_NAME: www.dominio.com
SERVER_PORT: 80
SERVER_PORT_SECURE: 0
SERVER_PROTOCOL: HTTP/1.1
SERVER_SOFTWARE: Microsoft-IIS/6.0
URL: /pruebas_dw/variables_server.asp
HTTP_CACHE_CONTROL: max-age=0
HTTP_CONNECTION: keep-alive
HTTP_KEEP_ALIVE: 300
HTTP_ACCEPT: text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING: gzip,deflate
HTTP_ACCEPT_LANGUAGE: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_COOKIE: ASPSESSIONIDASTATCRD=GAJDKNCANGABJAPEOGBONGFN; ASPSESSIONIDAQSBSCRD=LAJDPPEADNEMHDBKOCLAIMAD
HTTP_HOST: www.dominio.com
HTTP_USER_AGENT: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Nota: Mudei algum dado sensível desta lista de variável, como a IP do visitante ou a do servidor, ou a rota física dos arquivos. Porém, é perfeito para se ter uma idéia dos conteúdos que oferece o array request.servervariables.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato