public static CookieContainer Login(string username, string password, WebProxy proxy) { var preData = WeiboHandler.PreLogin(username); CookieContainer weibocc = new CookieContainer(); if (preData != null) { string code = ""; var img = WeiboHandler.GetLoginCodePic(preData.pcid); while (code == "" || code == "IERROR" || code == "ERROR" || code == null) { code = Dama2.GetVcode(img); } //string code = null; //var img = WeiboHandler.GetLoginCodePic(preData.pcid); var loginData = WeiboHandler.Login(preData, username, password, code, proxy); if (loginData == null) { return(null); } weibocc = WeiboHandler.InitWeiboCookie(username, loginData.cookies); bool isLogin = WeiboHandler.TestLogin(weibocc, proxy); if (isLogin) { //登录成功保存Cookie File.AppendAllText("weibocookie/" + username + ".txt", loginData.cookies); return(weibocc); } else { return(null); } } else { return(null); } }
/// <summary> /// 微博登录 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public static CookieContainer Login(string username, string password) { var preData = WeiboHandler.PreLogin(username); CookieContainer weibocc = new CookieContainer(); if (preData != null) { string code = ""; var img = WeiboHandler.GetLoginCodePic(preData.pcid); while (code == "" || code == "IERROR" || code == "ERROR") { code = Dama2.GetVcode(img); } //string code = null; //var img = WeiboHandler.GetLoginCodePic(preData.pcid); var loginData = WeiboHandler.Login(preData, username, password, code); weibocc = WeiboHandler.InitWeiboCookie(username, loginData.cookies); string testloginresult = ""; bool isLogin = WeiboHandler.TestLogin(weibocc, ref testloginresult); if (isLogin) { CookieCollection ccl = weibocc.GetCookies(new Uri("http://weibo.com")); CookieCollection newccl = ccl; for (int i = 0; i < newccl.Count; i++) { newccl[i].Domain = "sina.com.cn"; } CookieContainer newcc = new CookieContainer(); weibocc.Add(new Uri("http://sina.com.cn"), newccl); string ssourl1 = "http://login.sina.com.cn/sso/login.php?url=http%3A%2F%2Fm.weibo.cn%2F&_rand=" + HttpHelper1.GetTicks() + ".3493&gateway=1&service=sinawap&entry=sinawap&useticket=1&returntype=META&sudaref=&_client_version=0.6.23"; string ssoresult1 = HttpHelper1.SendDataByGET(ssourl1, ref weibocc); string ssourl2 = ""; HttpHelper1.GetStringInTwoKeyword(ssoresult1, ref ssourl2, "arrURL\":[\"", "\"]", 0); ssourl2 = ssourl2.Replace(@"\/", "/"); ssourl2 = ssourl2 + "&callback=sinaSSOController.doCrossDomainCallBack&scriptId=ssoscript0&client=ssologin.js(v1.4.19)&_=" + HttpHelper1.GetTicks(); string ssoresult2 = HttpHelper1.SendDataByGET(ssourl2, ref weibocc); ccl = weibocc.GetCookies(new Uri("http://sina.com.cn")); newccl = ccl; for (int i = 0; i < newccl.Count; i++) { newccl[i].Domain = "weibo.cn"; } newcc = new CookieContainer(); weibocc.Add(new Uri("http://weibo.cn"), newccl); //登录成功保存Cookie File.AppendAllText("weibocookie/" + username + ".txt", loginData.cookies); return(weibocc); } else { return(null); } } else { return(null); } }