verificar verificacion toca tarjeta requiere para pago metodo forma familiar familia desactivar dejar cuenta continuar compras compatibilidad compartir compartido compartidas cambiar apple json post asp-classic request

json - verificacion - ¿Accediendo al cuerpo de una solicitud(POSTado desde el cliente de iOS) usando ASP clásico?



no compartir forma de pago en familia (3)

En ASP clásico, Request.Form es la colección utilizada para cualquier información enviada a través de POST.

En aras de la exhaustividad, Request.QueryString que Request.QueryString es la colección utilizada para cualquier información enviada a través de GET / the Query String.

Supongo, basándome en lo anterior, que aunque el cliente no sea un navegador web, la colección Request.Form debe completarse.

Nota: todo esto supone que los datos enviados son de naturaleza textual y que no se envían cargas binarias (por ejemplo, imágenes o archivos). Actualice su cuerpo de pregunta si esta es una suposición incorrecta.

Para probar, escriba los datos sin formato y vea lo que tiene, algo como:

Response.Write(Request.Form)

Que con una página web regular generará algo así como

field=value&field2=value2

Si obtienes algo similar, podrías utilizarlo como referencia para un índice adecuado.

Si no obtiene algo así, actualice su pregunta con lo que intentó y lo que obtuvo.

¿Cómo accedo a lo que un cliente ha publicado en mi clásico servidor ASP? Sé que existe la variable Request.Forms, pero la solicitud del cliente no se realizó utilizando un Formulario. El cuerpo de la solicitud del cliente es solo una cadena hecha usando una declaración POST estándar. Gracias


Necesita leer los bytes de solicitud si el tipo de contenido de la solicitud enviada por el cliente no es información del formulario. En este caso, la solicitud no es un formulario de datos al que se puede acceder a través de pares nombre-valor, por lo que no puede usar la colección Request.Form. Sugiero investigar el método BinaryRead .

Lectura de datos publicados y conversión en cadena:

If Request.TotalBytes > 0 Then Dim lngBytesCount lngBytesCount = Request.TotalBytes Response.Write BytesToStr(Request.BinaryRead(lngBytesCount)) End If Function 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 = Nothing End Function

Espero eso ayude.

Actualización # 1:

Con el uso de JScript

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 }


Para obtener el valor de cadena JSON solo use CStr(Request.Form)

Funciona un placer