Daniel Prado Rodríguez Visita: Sacarse el carnet de conducir por libre DGT
  Jueves, 21 de Noviembre de 2024 Inicio | Contactar
Añadir a favoritos | Imprimir 
  Volver al resto de artículos ASP


Programación ASP - Objeto Request en ASP

» Programacion » ASP » Objeto Request en ASP
Martes, 29 de Noviembre de 2005. Escrito por admin


 Request

El objeto Request se utiliza para recoger los parámetros de entrada del script, es decir, los datos de los formularios o las variables pasadas mediante la interrogación en la URL. No tiene métodos ni propiedades dignas de mención, sino sólo tres colecciones muy importantes: Form, QueryString y ServerVariables.

Colección Request.Form

Mantiene la colección de parámetros pasados al script mediante el método POST, que es el usado preferentemente en los formularios, de ahí su nombre. Request.Form nos devuelve siempre la colección de parámetros. Por tanto, la expresión admite la sintaxis de las colecciones de Visual Basic, es decir:

  • Request.Form("Param") nos da el valor del parámetro de nombre Param siempre y cuando exista un único valor para dicho parámetro. Por ejemplo, nos daría el texto introducido en un control de formulario cuyo código HTML podría ser del estilo a <input type=text name="Param">.
  • Request.Form(3) nos da el valor del tercer elemento de la colección, es decir, el valor del tercer control del formulario.
  • Request.Form.Count nos da el número de parámetros pasados en el formulario.
    Como existe la posibilidad de parámetros multivaluados, como una lista de selección múltiple, la expresión Request.Form("Param") puede ser a su vez una colección: la colección de valores del parámetro. Por ejemplo, si en nuestro formulario tenemos una lista de selección múltiple, cuyo nombre sea Lista, la expresión Request.Form("Lista")[2] nos daría el segundo elemento seleccionado de la lista, y Request.Form("Lista").Count nos daría el número de elementos que ha seleccionado el usuario. Su valor será 1 si se trata de un parámetro monovaluado y 0 si es un parámetro no definido en el formulario.

También es posible iterar sobre las colecciones anteriores mediante bucles For each. El siguiente ejemplo nos muestra todos los parámetros pasados al script y sus valores:

<%
For each param In Request.Form
Response.Write ("<p>")
Response.Write("El parámetro " & param & " toma el valor " & Request.Form(param) )
Response.Write("</p>")
Next
%>

Colección Request.QueryString

Mantiene la colección de parámetros pasados al script mediante el método GET, que es el utilizado cuando se escribe la URL seguida del símbolo ? y de los parámetros con sus valores. Por ejemplo:

http://www.cocinatusrecetas.com/message.asp?MessageID=58086&pagina=1&idTema=58086

Invoca el script pasando las variables nombre (valor = Pepe) y apellido (valor = Gotera). El símbolo & se utiliza como separador entre los distintos parámetros. Aunque no es lo habitual, también los formularios pueden utilizar el método GET. Para ello basta con ponerlo en la marca <FORM> de la página web:

<FORM method=GET action = "MiForm.asp">

En este caso, los parámetros del formulario los obtendríamos en Request.QueryString en lugar de en Request.Form.

Colección Request.ServerVariables

Mantiene la colección de las variables de entorno del servidor web. Entre las mismas, podemos encontrar valores muy interesantes conocidos por el servidor web, como la dirección IP del usuario que está viendo las páginas, el login y contraseña si estamos en un directorio de acceso restringido, el nombre del dominio, el nombre del script, etc.

Estas son algunas de las variables de servidor:

VARIABLE
DESCRIPCIÓN
.ALL_HTTPTodas las cabeceras HTTP enviadas por el cliente.
AUTH_PASSWORDLa contraseña del cliente.
AUTH_USERNombre de usuario autentificado en bruto (raw).
CERT_COOKIEID de usuario único para el certificado del cliente, devuelto como cadena de caracteres. Puede ser usado como firma para el certificado al completo.
CERT_FLAGSEl bit0 es puesto a 1 si está presente el certificado del cliente. El bit1 es puesto a 1 si la autoridad de certificados del certificado del cliente es inválida (no está en la lista de las reconocidas en el servidor).
CERT_ISSUERCampo del suministrador del certificado de cliente (O=MS, OU=IAS, CN=user name, C=USA).
CERT_KEYSIZENúmero de bits de la clave SSL. Por ejemplo, 128.
CERT_SECRETKEYSIZENúmero de bits en la clave secreta del certificado del servidor. Por ejemplo, 1024.
CERT_SERIALNUMBERCampo del número de serie del certificado del cliente.
CERT_SERVER_ISSUERCampo para el suministrador del certificado del servidor.
CERT_SERVER_SUBJECTCampo del sujeto del certificado del servidor.
CERT_SUBJECTCampo del sujeto del certificado del cliente.
CONTENT_LENGTHLa longitud del contenido tal como es suministrado por el cliente.
CONTENT_TYPEEl tipo de datos del contenido. Se usa con solicitudes que adjuntan información, como las solicitudes de http GET, POST, y PUT.
GATEWAY_INTERFACELa revisión de la especificación CGI usada por el servidor. El formato es CGI/revision.
HTTP_<HeaderName>El valor almacenado en la cabecera o header llamada HeaderName. Cualquier header distinto de los incluidos en esta tabla debe ser prefijado por HTTP_ para que la colección de ServerVariables pueda recuperar su valor. Tenga en cuenta que el servidor interpreta cualquier carácter con guión bajo (_) en HeaderName como guiones normales en el header. Por ejemplo, si escribe HTTP_MY_HEADER, el servidor busca por un header enviado como MY-HEADER.
HTTPSDevuelve una activación ON si la petición vino a través de un canal seguro (SSL), o devuelve una desactivación OFF si la petición es a través de un canal no seguro.
HTTPS_KEYSIZEClave de tamaño en bits de una conexión Secure Sockets Layer. Por ejemplo, 128.
HTTPS_SECRETKEYSIZENúmero de bits en una clave privada de certificado del servidor seguro. Por ejemplo, 1024.
HTTPS_SERVER_ISSUERCampo para el suministrador del certificado del servidor seguro.
HTTPS_SERVER_SUBJECTCampo del sujeto del certificado del servidor
INSTANCE_IDLa ID para la instancia IIS en el modo texto. Si la instancia ID es 1, aparece como una cadena. Puede usar esta variable para recuperar la ID de la instancia del servidor web (en la base de datos) al cual corresponde la petición.
INSTANCE_META_PATHLa ruta de la metabase para la instancia del IIS que responde a la petición.
LOCAL_ADDRDevuelve la dirección del servidor en la que entró la petición. Esto es importante en el caso de las máquinas multi-homed, donde puede haber múltiples direcciones IP enlazadas a una máquina, y puede interesar conocer cuál es la dirección usada por la petición.
LOGON_USERNombre de usuario de la cuenta de Windows.
PATH_INFOInformación sobre una ruta extra tal como es ofrecida por el cliente. Usted puede acceder a scripts usando su ruta virtual y la variable de servidor PATH_INFO. Si esta información proviene de una URL, es decodificada por el servidor antes de que sea pasada al script CGI.
PATH_TRANSLATEDVersión traducida de PATH_INFO que toma la ruta y configura cualquier estructura necesaria de relación virtual-física.
QUERY_STRINGPetición de información almacenada en la cadena siguiendo al signo de interrogación (?) en la solicitud http.
REMOTE_ADDRLa dirección IP del host remoto que hace la consulta.
REMOTE_HOSTEl nombre del host que hace la consulta. Si el servidor no tiene esta información, utilizará REMOTE_ADDR y dejará esta variable vacía.
REMOTE_USERCadena de nombre de usuario no localizada, introducida por el usuario. Este es el nombre que es realmente enviado por el usuario, distinto de aquellos que son modificados por cualquier filtro de autentificación instalado en el servidor.
REQUEST_METHODMétodo usado para realizar la consulta. Para HTTP, éste es GET, HEAD, POST, etc.
SCRIPT_NAMEUna ruta virtual al script que está siendo ejecutado. Es usado para autoreferenciar direcciones URL.
SERVER_NAMEEl nombre, alias DNS, o dirección IP del servidor, tal como aparecería en la autoreferencia de direcciones URL.
SERVER_PORTEl número de puerto al que fue enviada la petición.
SERVER_PORT_SECUREUna cadena que contiene 0 ó 1. Si la petición está siendo manejada a través de un puerto seguro, entonces la cadena será 1. De otro modo, será 0.
SERVER_PROTOCOLEl nombre y revisión del protocolo de peticiones de información. El formato es protocol/revision.
SERVER_SOFTWAREEl nombre y versión del software del servidor que responde las peticiones. El formato es name/version.
URLProporciona la porción básica de la URL.

Ejemplo:

<h3> Usted está viendo el dominio <%= Request.ServerVariables("SERVER_NAME") %> </h3>

comentarios (44)
  Anterior artículo ASP

COMENTARIOS EN FACEBOOK SOBRE: Artículo ASP - Objeto Request en ASP
 
Mapa web |  Página principal  | Blog de Recetas | Recetas de Pescado | | Política de privacidad | Política de cookies
www.daniel.prado.name - Página Personal - © Copyright