Pregunta Acceda a datos de publicaciones directamente


Tengo una acción en uno de mis controladores que va a recibir solicitudes HTTP POST desde fuera de mi sitio web MVC.

Todas estas solicitudes POST tendrán los mismos parámetros y necesito poder analizar los parámetros.

¿Cómo puedo acceder a los datos de la publicación desde dentro de la acción?

¡Esta es una pregunta potencialmente muy simple!

Gracias


47
2018-05-04 14:57


origen


Respuestas:


Los datos POST de sus Reques HTTP pueden obtenerse en Request.Form.


51
2018-05-04 15:00



string data = new System.IO.StreamReader(Request.InputStream).ReadToEnd(); 

37
2017-11-19 05:37



Utilizar

Request.InputStream 

Esto le dará acceso directo al cuerpo del mensaje HTTP, que contendrá todas las variables POST.

http://msdn.microsoft.com/en-us/library/system.web.httprequest.inputstream.aspx


18
2018-05-04 15:05



Estaba intentando acceder a los datos POST después de estar dentro del controlador MVC. InputStream ya fue analizado por el controlador, por lo que tuve que restablecer la posición de InputStream a 0 para leerlo nuevamente.

Este código funcionó para mí ...

 HttpContext.Current.Request.InputStream.Position = 0;
 var result = new System.IO.StreamReader(HttpContext.Current.Request.InputStream).ReadToEnd();

12
2018-04-19 16:45



Stream req = Request.InputStream;
            req.Seek(0, System.IO.SeekOrigin.Begin);
            string json = new StreamReader(req).ReadToEnd();

            JavaScriptSerializer serializer = new JavaScriptSerializer();
            dynamic items = serializer.Deserialize<object>(json);
            string id = items["id"];
            string image = items["image"];

/// puedes acceder a los parámetros por nombre o índice


5
2018-03-20 11:00



El servidor web no debería importar de dónde proviene la solicitud. Si su aplicación cliente tiene un control de entrada llamado nombre de usuario y lo publica en su aplicación, lo recuperará igual que si lo publicara desde su propia aplicación con una entrada llamada nombre de usuario.

Una gran advertencia es si ha implementado AntiForgeryValidation, que causará un gran dolor de cabeza para permitir que se publique una forma externa.


3
2018-05-04 15:13