Cómo simular navegador petición HTTP POST y resultado de la captura en C #

StackOverflow https://stackoverflow.com/questions/2071321

  •  20-09-2019
  •  | 
  •  

Pregunta

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 por medio del servidor de recibir datos de búsqueda a través de las cadenas de consulta. El usuario puede ver la URL y también puede inicializar esta solicitud por sí mismo (a través de cadenas URL + Query).

Todos sabemos eso. Aquí está la pregunta.

¿Qué pasa si esta página Web envía los datos al servidor a través de HTTP Post? ¿Cómo puede el usuario inicializar esta solicitud por sí mismo?

Bien sé cómo capturar HTTP POST (por eso rastreadores de red son para), pero ¿cómo puedo simular esta solicitud HTTP POST por mí mismo en un código C #?

¿Fue útil?

Solución

Se puede echar un vistazo a la WebClient clase. Se le permite enviar datos a una URL arbitraria:

using (var client = new WebClient())
{
    var dataToPost = Encoding.Default.GetBytes("param1=value1&param2=value2");
    var result = client.UploadData("http://example.com", "POST", dataToPost);
    // do something with the result
}

generará la petición siguiente:

POST / HTTP/1.1
Host: example.com
Content-Length: 27
Expect: 100-continue
Connection: Keep-Alive

param1=value1&param2=value2
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top