mvc - Cómo simular la solicitud HTTP POST del navegador y el resultado de captura en C#
post web api c# (1)
Digamos que tenemos una página web con un formulario de entrada de búsqueda, que envía datos al servidor a través de HTTP GET. Así que eso significa que el servidor recibe datos de búsqueda a través de cadenas de consulta. El usuario puede ver la URL y también puede inicializar esta solicitud por sí mismo (a través de URL + cadenas de consulta).
Todos sabemos eso. Aquí está la pregunta.
¿Qué sucede si esta página web envía datos al servidor a través de HTTP POST? ¿Cómo puede el usuario inicializar esta solicitud por sí mismo?
Bueno, sé cómo capturar HTTP POST (para eso están los detectores de redes), pero ¿cómo puedo simular esta solicitud HTTP POST por mí mismo en un código C #?
Podrías echar un vistazo a la clase de WebClient . Te permite publicar datos en una url arbitraria:
using (var client = new WebClient())
{
var dataToPost = Encoding.Default.GetBytes("param1=value1¶m2=value2");
var result = client.UploadData("http://example.com", "POST", dataToPost);
// do something with the result
}
Se generará la siguiente solicitud:
POST / HTTP/1.1
Host: example.com
Content-Length: 27
Expect: 100-continue
Connection: Keep-Alive
param1=value1¶m2=value2