- Getting a page source after POST variables have been sent
- public static string logIn()
- {
- //get the cookies before you try to log in
- CookieCollection cookies = new CookieCollection();
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.facebook.com");
- request.CookieContainer = new CookieContainer();
- request.CookieContainer.Add(cookies);
- HttpWebResponse response = (HttpWebResponse)request.GetResponse();
- cookies = response.Cookies;
- response.Close();
- //logging in
- HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create("https://www.facebook.com/login.php?login_attempt=1");
- getRequest.CookieContainer = new CookieContainer();
- getRequest.CookieContainer.Add(cookies);
- getRequest.Method = WebRequestMethods.Http.Post;
- getRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
- getRequest.AllowWriteStreamBuffering = true;
- getRequest.ProtocolVersion = HttpVersion.Version11;
- getRequest.AllowAutoRedirect = true;
- getRequest.ContentType = "application/x-www-form-urlencoded";
- //sending the email/password
- byte[] byteArray = Encoding.ASCII.GetBytes("email=myemail@yahoo.com&pass=mypassword");
- getRequest.ContentLength = byteArray.Length;
- Stream newStream = getRequest.GetRequestStream();
- newStream.Write(byteArray, 0, byteArray.Length);
- newStream.Close();
- //returns the source of the page after logging in
- HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse();
- StreamReader sr = new StreamReader(getResponse.GetResponseStream());
- string source = sr.ReadToEnd();
- cookies.Add(getResponse.Cookies);
- //tries to get my profile source
- //everything works fine until here
- getRequest = (HttpWebRequest)WebRequest.Create("http://www.facebook.com/myprofile");
- getRequest.CookieContainer = new CookieContainer();
- getRequest.CookieContainer.Add(cookies);
- getRequest.Method = WebRequestMethods.Http.Get;
- getRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
- getRequest.AllowWriteStreamBuffering = true;
- getRequest.ProtocolVersion = HttpVersion.Version11;
- getRequest.AllowAutoRedirect = true;
- getRequest.ContentType = "application/x-www-form-urlencoded";
- getResponse = (HttpWebResponse)getRequest.GetResponse();
- sr = new StreamReader(getResponse.GetResponseStream());
- source = sr.ReadToEnd();
- getResponse.Close();
- return source;
- }
- // ^ previous code ^
- HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse();
- StreamReader sr = new StreamReader(getResponse.GetResponseStream());
- string source = sr.ReadToEnd();
- Uri facebookPage = new Uri("http://www.facebook.com"); // .GetCookies() only accepts a Uri
- cookies.Add(request.CookieContainer.GetCookies(facebookPage));
- getResponse.Close(); // Always make sure you close your responses
- // V requesting your profile code V