private void LoginGithub(string username, string password, string data, ref CookieContainer cookies)
{
//POST login data
Dictionary <string, string> postData = new Dictionary <string, string> ();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://github.com/session");
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)";
request.CookieContainer = cookies;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
postData.Add("utf8", "\u2713");
postData.Add("authenticity_token", HtmlHelper.getAttribute(HtmlHelper.getSingleElement(data, "<input name=\"authenticity_token\""), "value"));
postData.Add("login", username);
postData.Add("password", password);
postData.Add("return_to", HtmlHelper.getAttribute(HtmlHelper.getSingleElement(data, "<input id=\"return_to\" name=\"return_to\""), "value"));
byte[] postBuild = HttpHelper.CreatePostData(postData);
request.ContentLength = postBuild.Length;
request.GetRequestStream().Write(postBuild, 0, postBuild.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream())) {
data = sr.ReadToEnd();
}
if (LoginCompleted != null)
{
LoginCompleted(this, new LoginEventArgs(data, cookies));
}
}