Я пытаюсь войти в Facebook в своей программе и проанализировать оттуда некоторую информацию (например, имя, изображение профиля и т. Д.).
Меня перенаправляют обратно на главную страницу Facebook каждый раз, когда я выполняю приведенный ниже код.
string email = "email";
string pw = "pw";
string PostData = String.Format("email={0}&pass={1}", email, pw);
CookieContainer cookieContainer = new CookieContainer();
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("");
req.CookieContainer = cookieContainer;
req.Method = "POST";
req.ContentLength = PostData.Length;
req.ContentType = "application/x-www-form-urlencoded";
req.AllowAutoRedirect = true;
req.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] loginDataBytes = encoding.GetBytes(PostData);
req.ContentLength = loginDataBytes.Length;
Stream stream = req.GetRequestStream();
stream.Write(loginDataBytes, 0, loginDataBytes.Length);
HttpWebResponse webResp = (HttpWebResponse)req.GetResponse();
Stream datastream = webResp.GetResponseStream();
StreamReader reader = new StreamReader(datastream);
webBrowser1.DocumentText = reader.ReadToEnd();
foreach (Cookie cookies in webResp.Cookies)
{
MessageBox.Show(cookies.Name + " " + cookies.Value);
}
Что я здесь делаю не так? Любая помощь будет оценена по достоинству, большое спасибо! :)
редактировать: Я узнал, как это сделать, вскоре после публикации.
Facebook отправляет cookie каждый раз, когда вы посещаете его, чтобы узнать, включены ли у вас файлы cookie. Я отправил запрос на страницу входа в Facebook, чтобы получить файлы cookie, а затем отправил еще один с данными POST. Это сработало, и я успешно вошел в систему.
В любом случае спасибо! :)