ho letto decine di esempi, tutti uguali, ma nessuno sembra funzionare.
sto provando a simulare un postback (la pressione di un button) di una pagina aspx da programma console o desktop che sia.
quando leggo il response, la pagina non cambia. Ho fatto anche una prova con un sito mio di prova in locale sulla mia macchina, ma niente..ecco il codice:
string password = "pass";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:56631/WebSiteTest/Default.aspx");
request.AllowAutoRedirect =true;
//request.UserAgent
request.Method ="POST";
string postData = "txt=" + password; //txt è l'id del controllo textBox che ho inserito nella pagina
request.ContentType ="application/x-www-form-urlencoded";
byte[] arrPostDAta = Encoding.ASCII.GetBytes(postData);
System.IO.Stream strmPostData = request.GetRequestStream();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string sourceFile = reader.ReadToEnd();
StreamWriter sw = new StreamWriter("C:\\response.txt");
sw.WriteLine(sourceFile);
sw.Close();
reader.Close();
response.Close();
strmPostData.Write(arrPostDAta, 0, arrPostDAta.Length);
strmPostData.Close();
request.ContentLength = arrPostDAta.Length;
Nota: alla pressione del tasto verifico il valore della textBox txt. se è pass eseguo response.write("ok"), altrimenti se è diverso da pass eseguo response.write("errato").
il mio file di testo non contiene nè "ok", nè "errato", ma solo il codice html prodotto dal mio sito di prova..
come mai..?