Continuando a série de posts sobre os objetos do ASP, veremos a estrutura do objeto Request.
O objeto Request tem por função acessar as requisições enviadas pelo cliente para o servidor.
Embora este objeto também possua propriedades e métodos, que podem ser vistos aqui (em inglês), o foco deste artigo será o que foi visto em aula, que compreende apenas as coleções do objeto Request.
As coleções são:
- ClientCertificate
- Cookies
- Form
- QueryString
- ServerVariables
ClientCertificate
Esta coleção contém chaves e valores correspondentes a um certificado de segurança que o browser do cliente envia para o servidor. Somente é utilizado em sites que utilizam o protocolo HTTPS (HTTP Seguro), como sites de comércio eletrônico e bancos.
Em razão de sua utilização específica para HTTPS não executaremos o exemplo abaixo, envolvendo esta coleção, que permanecerá apenas na teoria.
<%
' Retorna a data inicial da validade do certificado:
Response.Write Request.ClientCertificate("validfrom")
%>
Cookies
O Request.Cookies é uma coleção que permite recuperar informações sobre o usuário e sua navegação que já tenham sido armazenadas através do Response.Cookie (reveja aqui).
Por exemplo, para recuperar o login de um usuário que tenha sido gravado em um cookie de nome “login”:
Response.Write("Usuário: " & Request.Cookies("login"))
Form
Esta é uma das coleções do Request mais úteis. Permite obter os dados que tenham sido enviados por um formulário utilizando o método post.
Por exemplo, para obter o nome de um usuário que o preencheu em um campo chamado “nome” de um formulário:
Response.Write("O nome informado foi: " & Request.Form("nome"))
QueryString
A coleção QueryString tem a mesma aplicação da Form. A diferença é que a QueryString aplica-se a dados submetidos via get ou variáveis inseridas diretamente na URL.
Exemplo:
Imagine um link que aponte para “excluir.asp?codigo=20″. O link indica que a página é “excluir.asp” e inclui ainda uma variável chamada “codigo” com valor 20. Para recuperarmos este valor no ASP, utilizamos:
Response.Write("Excluindo registro de código " & Request.QueryString("codigo") & "...")
ServerVariables
Esta coleção guarda diversas informações sobre o cliente e o servidor. Para acessarmos tais informações, utilizamos:
Request.ServerVariables("variavel")
Onde em “variavel” colocamos uma das variáveis predefinidas para esta coleção. Uma lista das variáveis pode ser encontrada no livro ou aqui (em inglês).
Alguns exemplos:
' Exibindo o IP do cliente:
Response.Write(Request.ServerVariables("REMOTE_ADDR"))
' Exibindo o IP do servidor:
Response.Write(Request.ServerVariables("LOCAL_ADDR"))
' Exibindo a página de onde o usuário veio:
Response.Write(Request.ServerVariables("HTTP_REFERER"))
' Exibindo informações sobre o browser do usuário:
Response.Write(Request.ServerVariables("HTTP_USER_AGENT"))
No próximo post, veremos o objeto Server.