Neste post veremos como fazer um FAKE post em um formulário programáticamente usando C#, para isto utilizaremos o WebClient. Nós vamos simular o preenchimento de uma página e o envio do form existente nela.
Código:
string urlPost = "http://www.contoso.com.br/pagina.html";
WebClient myWebClient = new WebClient();
string postData = "data_inicio=01/01/2000&data_fim=01/01/2011";
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] byteArray = Encoding.ASCII.GetBytes(postData);
byte[] responseArray = myWebClient.UploadData(urlPost, "POST", byteArray);
string retorno = Encoding.ASCII.GetString(responseArray));
Neste exemplo temos duas váriaveis que precisam ser alteradas, a urlPost define a página que contém o formulário a ser preenchido e a postData que define como os campos são preenchidos.
Por exemplo, se temos um campos no formulário com nome de data_inicio podemos utilizar este nome no postData atribuindo um valor a ele (postData = “data_inicio=01/01/2000”), no caso de mais de um campo, deve-se adicionar o simbolo & entre os campos (postData = “data_inicio=01/01/2000&data_fim=01/01/2011”).
Feito isto basta enviar o formulário utilizando o método UploadData do WebClient passando como parametro a urlPost, a strring “POST” que servirá como verbo para definir o envio do formulário e um byte array do postData que pode ser obtido pelo método GetBytes. O resultado deste post (normalmente uma página ou um XML), será dado pelo retorno do método UploadData podendo ser convertido para string utilizando o método GetString passando como parametro o byte array retornado.
0 comentários :
Postar um comentário