Hi,
also wenn du einen POST absenden willst, dann noch die HTML seite und die Cookies Speichern willst hast du in deiner sendRequest Funktion ein paar kleinigkeiten Vergessen, im Endeffekt müste das so aussehen:
Code:
private string sendRequest(string host, string path, string post)
{
HttpWebRequest request1 = (HttpWebRequest)HttpWebRequest.Create("https://" + host + path);
request1.Method = "POST";
request1.Host = host;
request1.ContentType = "application/x-www-form-urlencoded";
request1.Referer = referer;
request1.CookieContainer = new CookieContainer();
request1.CookieContainer = cookiecontain;
request1.CookieContainer.Add(cookiecoll);
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] loginDataBytes = encoding.GetBytes(post);
request1.ContentLength = loginDataBytes.Length;
Stream stream = request1.GetRequestStream();
stream.Write(loginDataBytes, 0, loginDataBytes.Length);
stream.Close();
HttpWebResponse response = (HttpWebResponse)request1.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
string html = sr.ReadToEnd();
sr.Close();
cookiecontain.Add(response.Cookies);
cookiecoll.Add(response.Cookies);
response.Close();
return html;
}
Ich Verwende immer eine Cookiecollection und einen cookiecontainer, warum frag mich was leichteres ist aus der Angewohnheit entstanden, daher benötigst du halt noch so was in deinem Quellcode:
Code:
CookieContainer cookiecontain = new CookieContainer();
CookieCollection cookiecoll = new CookieCollection();