Может ли кто-нибудь помочь мне разобраться, как войти на страницу с помощью HttpWebRequest и впоследствии очистить страницу. Код, который я использую, не просто записывает разметку на странице входа, но не может войти ... сайт, на который я пытаюсь войти, является сайтом на основе php.
// first, request the login form to get the viewstate value
HttpWebRequest webRequest = WebRequest.Create("loginPageUrl") as HttpWebRequest;
StreamReader responseReader = new StreamReader(
webRequest.GetResponse().GetResponseStream()
);
string responseData = responseReader.ReadToEnd();
responseReader.Close();
string postData = String.Format("Username={0}&Password={1}", "user", "pwd");
// have a cookie container ready to receive the forms auth cookie
CookieContainer cookies = new CookieContainer();
// now post to the login form
webRequest = WebRequest.Create("loginPostUrl") as HttpWebRequest;
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.CookieContainer = cookies;
// write the form values into the request message
StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(postData);
requestWriter.Close();
// we don't need the contents of the response, just the cookie it issues
webRequest.GetResponse().Close();
// now we can send out cookie along with a request for the protected page
webRequest = WebRequest.Create("PageToScrapeUrl") as HttpWebRequest;
webRequest.CookieContainer = cookies;
responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
// and read the response
responseData = responseReader.ReadToEnd();
responseReader.Close();
Console.WriteLine(responseData);
Console.ReadKey();