private void EndGetResponse(IAsyncResult res)
{
object[] obj = (object[])res.AsyncState;
string username = (string)obj[1], password = (string)obj[2];
CookieContainer cookies = (CookieContainer)obj[3];
HttpWebRequest request = (HttpWebRequest)obj[0];
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(res);
if (response.StatusCode == HttpStatusCode.Found) {
request = (HttpWebRequest)HttpWebRequest.Create(response.Headers["Location"]);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240";
request.CookieContainer = cookies;
request.AllowAutoRedirect = false;
request.Referer = response.ResponseUri.ToString();
request.Headers ["Upgrade-Insecure-Requests"] = "1";
request.BeginGetResponse(EndGetResponse, new object[] { request, username, password, cookies });
return;
}
string data;
using (System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream()))
{
data = sr.ReadToEnd();
}
LoginWinLive(username, password, data, ref cookies);
}