PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# - HTTP Post an webBrowser senden um eine suche auszuloesen


Blocki
2009-05-23, 15:00:26
Moin moin,
ich muss ein HTTP Post an eine Website in einem webBrowser Element senden um damit eine Suche auszuloesen und das Ergebnis im selben webBrowser Element wieder darzustellen. Das Problem ist, dass man eingeloggt sein muss, um suchen zu koennen. Naja, das einloggen habe ich schon hinbekommen, aber suchen und die Ergebnisse anzeigen bekomme ich nicht hin.

Damit logge ich mich ein:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(<URL>);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string args = @"aml=KUNDENNUMMER&pml=PASSWORT";
byte[] dataToSend = Encoding.ASCII.GetBytes(args);
request.ContentLength = dataToSend.Length;
Stream st = request.GetRequestStream();
st.Write(dataToSend, 0, dataToSend.Length);
st.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
string responseBodyText = sr.ReadToEnd();
sr.Close();
((MainForm)Application.OpenForms[0]).richTextBox1.Text = responseBodyText;
if(responseBodyText.Contains("'Logout'"))
{
string session;
session = responseBodyText.Substring(responseBodyText.IndexOf("session_id\" value=\"") +19, 36);
((MainForm)Application.OpenForms[0]).umbreitsid = session;
}
else
{
MessageBox.Show("Nicht eingeloggt.", "Nicht eingeloggt.");
}


Das Ganze laeuft ueber eine Session ID ab. Soweit auch ok. Nach dem einloggen lasse ich folgende URL im webBrowser Element anzeigen:
URL/show?page=suchmaske.html&session_id= umbreitsid &action=kurzliste

Das ist in sofern einfach, weil die Seite die URL so auch anzeigt, wenn man sich eingeloggt hat, aber beim suchen ist das nicht so.

Der Inhalt der Seite befindet sich dann zwar in responseBodyText aber ich weiss nicht, wie ich die Seite auch im webBrowser Element anzeigen lassen kann.

Im HTTP Header wird folgendes mitgesendet, wenn ich eine Suche starte:
knr=<kundennummer>&Titel=<suche>&Autor=&Verlag=&ISBN=&umbreitnummer=&ean=&reihe=&bandnummer=&pg=&kalender_gruppe=&von_preis=&bis_preis=&von_jahr=&bis_jahr=&sortierung=melde&Submit_Profisuche.x=53&Submit_Profisuche.y=12&Submit_Profisuche=Suchen&caller=<kundennummer>&uid=&session_id=<sessionid>&melde=&page=ubit_d_kurzliste.html&action=kurzliste&offset=0&verlag0=&sachgebiet=&filter=umbreit&newsearch=true

Ich hoffe, ihr versteht, was ich meine und was mein Problem ist. ;(