Acceder al cuerpo de una solicitud en ASP clásico

Código ASP clásico

En ASP clásico, es posible acceder a los datos enviados por un cliente a nuestro servidor. Normalmente, utilizamos la variable "Request.Form" para recibir los valores enviados a través de un formulario HTML. Sin embargo, cuando la solicitud no proviene de un formulario, esta opción no funciona.

En este caso, el cuerpo de la solicitud del cliente es simplemente una cadena creada usando una declaración POST estándar. Para acceder a estos datos, necesitas leer los bytes de la solicitud utilizando el método BinaryRead, ya que el tipo de contenido de la solicitud no es de datos de formulario. A diferencia de los datos de formulario que se pueden acceder mediante pares de nombre-valor, en este caso necesitarás investigar cómo utilizar el método BinaryRead.

Una vez que hayas leído los datos enviados, puedes convertirlos en una cadena para su procesamiento.


If Request.TotalBytes > 0 Then    Dim lngBytesCount        lngBytesCount = Request.TotalBytes    Response.Write BytesToStr(Request.BinaryRead(lngBytesCount))End IfFunction BytesToStr(bytes)    Dim Stream    Set Stream = Server.CreateObject("Adodb.Stream")        Stream.Type = 1 'adTypeBinary        Stream.Open        Stream.Write bytes        Stream.Position = 0        Stream.Type = 2 'adTypeText        Stream.Charset = "iso-8859-1"        BytesToStr = Stream.ReadText        Stream.Close    Set Stream = NothingEnd Function


Usando JsScript:


if(Request.TotalBytes > 0){    var lngBytesCount = Request.TotalBytes    Response.Write(BytesToStr(Request.BinaryRead(lngBytesCount)))}function BytesToStr(bytes){    var stream = Server.CreateObject("Adodb.Stream")        stream.type = 1        stream.open        stream.write(bytes)        stream.position = 0        stream.type = 2        stream.charset = "iso-8859-1"    var sOut = stream.readtext()        stream.close    return sOut}


Esta función es muy útil para la creación de APIs.



tags: Acceso a datos en ASP, Solicitudes POST en ASP, Método BinaryRead en ASP, Acceso a cuerpo de solicitud en ASP, Procesamiento de solicitudes en ASP, Request.BinaryRea

En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por CoreASP. Estos recursos se comparten de buena fe con el único objetivo de servir como base de conocimiento en el desarrollo de aplicaciones en ASP Clásico. CoreASP no garantiza la precisión, vigencia ni funcionamiento de los artículos o fragmentos de código publicados, y no se hace responsable por el uso que se les dé. Se recomienda siempre revisar, adaptar y probar el código antes de implementarlo en entornos de producción.