using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using AllBase; using CefSharp; using Cookie = System.Net.Cookie; namespace Work.CollectClass { public class SetCookiesUserInfo { public static bool ReflashUsers = false; public static bool ReflashPinUsers = false; public static bool ReflashFunUsers = false; public static bool ReflashRepUsers = false; public static bool ReflashTaoBaoUsers = false; public static bool SlipaceReflashUsers = false; public static bool ALReflashUsers = false; public static bool ALReflashFunUsers = false; public static string UserName = ""; public static string TaoBaoUserName = ""; public static string SlipaceUserName = ""; public static string ALUserName = ""; public static string PayMobile = ""; public static string SlipacePayMobile = ""; public static string ALPayMobile = ""; public static string CookiesString = ""; public static Dictionary UserCookies = new Dictionary(); public static Dictionary UserSlipaceCookies = new Dictionary(); public static Dictionary UserALCookies = new Dictionary(); private List Cookies; private List SlipaceCookies; private List ALCookies; public void Set(string mobile, bool refundFlag) { if (!UserCookies.ContainsKey(mobile)) { MessageBox.Show("没有找到这个手机号", "提示"); return; } string url = BaseClass.NewUrl+"/personal_profile.html"; string refere = BaseClass.NewUrl+"/personal.html"; string html = GetPostTaobaoHtml.UploadTaobao(url, refere, true); string name = BaseRegex.GetMatchRegexString(ref html, @"\\""nickname\\"":\\""([^']+?)\\"""); if (name == mobile) return; List cookies = UserCookies[mobile].Cookies; Delete(); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = BaseClass.NewUrl+"/"; foreach (System.Net.Cookie c in cookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } PayMobile = mobile; Cookies = cookies; new Thread(Set).Start(); if (!refundFlag) { MessageBox.Show("切换到账户:" + mobile + " 成功", "提示"); } } /// /// 重试一次设置cookies /// public void Set() { Thread.Sleep(1000); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = BaseClass.NewUrl+"/"; foreach (System.Net.Cookie c in Cookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } } public bool SetTaoBao(string userName, bool refundFlag) { if (!UserCookies.ContainsKey(userName)) { MessageBox.Show("没有找到这个淘宝买家", "提示"); return false; } DeleteTaoBao(); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); List cookies = UserCookies[userName].Cookies; //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = "https://i.taobao.com/my_taobao.htm"; foreach (System.Net.Cookie c in cookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } PayMobile = userName; if (!refundFlag) { MessageBox.Show("切换到账户:" + userName + " 成功", "提示"); } return true; } /// /// 设置淘宝卖家 /// /// /// public bool SetSellerTaoBao(string userName) { if (!UserCookies.ContainsKey(userName)) { MessageBox.Show("没有找到这个淘宝卖家", "提示"); return false; } DeleteTaoBao(); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); List cookies = UserCookies[userName].Cookies; //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = "https://myseller.taobao.com/home.htm"; foreach (System.Net.Cookie c in cookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } PayMobile = userName; return true; } public void Get() { string url = BaseClass.BuildObjString("user_login_cookies&act=get"); string data = "&site_id=-1"; string html = GetHtml.PostUtf8(url, UserLogin.GetSignaturex() + data); if (string.IsNullOrEmpty(html) || !html.Contains("'")) return; UserCookies.Clear(); var m = BaseRegex.GetMatchRegex(ref html, "]+?)>"); for (int i = 0; m != null && i < m.Count; i++) { string list = m[i].Groups[0].Value; string name = BaseRegex.GetStringJson(ref list, "user_name"); if (string.IsNullOrEmpty(name) || UserCookies.ContainsKey(name)) continue; string cookies = BaseRegex.GetStringJson(ref list, "cookies"); int site_id = BaseRegex.GetIntJson(ref list, "site_id"); AddList(name, cookies, site_id); } ReflashUsers = true; ReflashPinUsers = true; ReflashFunUsers = true; ReflashRepUsers = true; ReflashTaoBaoUsers = true; ALReflashUsers = true; ALReflashFunUsers = true; UserName = "点击下拉切换"; TaoBaoUserName = "点击下拉切换"; ALUserName = "点击下拉切换"; } public void Add(string name, string cookies, int site_id) { string url = BaseClass.BuildObjString("user_login_cookies&act=insert"); StringBuilder data = new StringBuilder(); data.Append("&user_name=" + name); data.Append("&site_id="+ site_id); data.Append("&cookies=" + GetHtml.UrlEncodeUtf8(cookies)); string html = GetHtml.PostUtf8(url, UserLogin.GetSignaturex() + data); if (html != "ok") { Thread.Sleep(10 * 1000); html = GetHtml.PostUtf8(url, UserLogin.GetSignaturex() + data); } AddList(name, cookies, site_id); } public void AddList(string name, string cookies, int site_id) { string[] l = cookies.Split(';'); List cookie = new List(); for (int j = 0; j < l.Length; j++) { if (string.IsNullOrEmpty(l[j]) || !l[j].Contains("=")) continue; string[] ll = l[j].Split('='); if (site_id == 1) { Cookie c = new Cookie(); c.Domain = "taobao.com"; c.Expires = DateTime.Now.AddYears(1); c.Name = ll[0].Trim(); c.Value = ll[1]; c.Path = "/"; cookie.Add(c); c = new Cookie(); c.Domain = "tmall.com"; c.Expires = DateTime.Now.AddYears(1); c.Name = ll[0].Trim(); c.Value = ll[1]; c.Path = "/"; cookie.Add(c); } if (site_id == 2 || site_id == 0 || site_id == -1) { Cookie c = new Cookie(); c.Domain = "yangkeduo.com"; c.Expires = DateTime.Now.AddYears(1); c.Name = ll[0].Trim(); c.Value = ll[1]; c.Path = "/"; cookie.Add(c); } if (site_id == 3)//淘宝卖家 { Cookie c = new Cookie(); c.Domain = "taobao.com"; c.Expires = DateTime.Now.AddYears(1); c.Name = ll[0].Trim(); c.Value = ll[1]; c.Path = "/"; cookie.Add(c); } if (site_id == 4)//进宝 { Cookie c = new Cookie(); c.Domain = "jinbao.pinduoduo.com"; c.Expires = DateTime.Now.AddYears(1); c.Name = ll[0].Trim(); c.Value = ll[1]; c.Path = "/"; cookie.Add(c); } } UserCookies uc = new UserCookies(); uc.Cookies = cookie; uc.UserName = name; uc.SiteId = site_id; if (site_id.Equals(1)) { TaoBaoUserName = name; } else if (site_id.Equals(0) || site_id.Equals(2)) { UserName = name; } if (!UserCookies.ContainsKey(name)) UserCookies.Add(name, uc); else UserCookies[name] = uc; ReflashUsers = true; ReflashFunUsers = true; ReflashPinUsers = true; ReflashRepUsers = true; ReflashTaoBaoUsers = true; } public void Delete() { var cookieManager = Cef.GetGlobalCookieManager(); if (BaseClass.CookiesAllString.ContainsKey("yangkeduo.com")) { var cookies = BaseClass.CookiesAllString["yangkeduo.com"]; string[] l = cookies.Split(';'); for (int i = 0; i < l.Length; i++) { if (string.IsNullOrEmpty(l[i]) || !l[i].Contains("=")) continue; string name = l[i].Split('=')[0].Trim(); try { cookieManager.DeleteCookies(BaseClass.NewUrl+"/", name); cookieManager.DeleteCookies("http://yangkeduo.com/", name); //cookieManager.Dispose(); } catch { } } } } public void DeleteTaoBao() { var cookieManager = Cef.GetGlobalCookieManager(); if (BaseClass.CookiesAllString.ContainsKey("taobao.com")) { var cookies = BaseClass.CookiesAllString["taobao.com"]; string[] l = cookies.Split(';'); for (int i = 0; i < l.Length; i++) { if (string.IsNullOrEmpty(l[i]) || !l[i].Contains("=")) continue; string name = l[i].Split('=')[0].Trim(); try { cookieManager.DeleteCookies("https://i.taobao.com/my_taobao.htm", name); cookieManager.DeleteCookies("https://login.taobao.com/member/login.jhtml", name); //cookieManager.Dispose(); } catch { } } } if (BaseClass.CookiesAllString.ContainsKey("tmall.com")) { var cookies = BaseClass.CookiesAllString["tmall.com"]; string[] l = cookies.Split(';'); for (int i = 0; i < l.Length; i++) { if (string.IsNullOrEmpty(l[i]) || !l[i].Contains("=")) continue; string name = l[i].Split('=')[0].Trim(); try { cookieManager.DeleteCookies("https://i.taobao.com/my_taobao.htm", name); cookieManager.DeleteCookies("https://login.taobao.com/member/login.jhtml", name); //cookieManager.Dispose(); } catch { } } } } public void DeleteJinBao() { var cookieManager = Cef.GetGlobalCookieManager(); if (BaseClass.CookiesAllString.ContainsKey("jinbao.pinduoduo.com")) { var cookies = BaseClass.CookiesAllString["jinbao.pinduoduo.com"]; string[] l = cookies.Split(';'); for (int i = 0; i < l.Length; i++) { if (string.IsNullOrEmpty(l[i]) || !l[i].Contains("=")) continue; string name = l[i].Split('=')[0].Trim(); try { cookieManager.DeleteCookies("http://jinbao.pinduoduo.com/", name); cookieManager.DeleteCookies("http://pinduoduo.com/", name); //cookieManager.Dispose(); } catch { } } } } #region 刷单 public void Setslipace(string mobile, bool refundFlag) { if (!UserSlipaceCookies.ContainsKey(mobile)) { MessageBox.Show("没有找到这个手机号", "提示"); return; } string url = BaseClass.NewUrl+"/personal_profile.html"; string refere = BaseClass.NewUrl+"/personal.html"; string html = GetPostTaobaoHtml.UploadTaobao(url, refere, true); string name = BaseRegex.GetMatchRegexString(ref html, @"\\""nickname\\"":\\""([^']+?)\\"""); if (name == mobile) return; List cookies = UserSlipaceCookies[mobile].Cookies; Delete(); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = BaseClass.NewUrl+"/"; foreach (System.Net.Cookie c in cookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } SlipacePayMobile = mobile; SlipaceCookies = cookies; new Thread(SlipaceSet).Start(); if (!refundFlag) { MessageBox.Show("切换到账户:" + mobile + " 成功", "提示"); } } /// /// 重试一次设置cookies /// public void SlipaceSet() { Thread.Sleep(1000); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = BaseClass.NewUrl+"/"; foreach (System.Net.Cookie c in SlipaceCookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } } public void AddSlipace(string name, string cookies, int site_id) { FileBase.WriteAllText("temp/MobileCookies/" + StringToUnicode(name) + ".tjm", cookies, Encoding.Default); AddListSlipace(name, cookies, site_id); } public void AddListSlipace(string name, string cookies, int site_id) { string[] l = cookies.Split(';'); List cookie = new List(); for (int j = 0; j < l.Length; j++) { if (string.IsNullOrEmpty(l[j]) || !l[j].Contains("=")) continue; string[] ll = l[j].Split('='); if (site_id == 2 || site_id == 0) { Cookie c = new Cookie(); c.Domain = "yangkeduo.com"; c.Expires = DateTime.Now.AddYears(1); c.Name = ll[0].Trim(); c.Value = ll[1]; c.Path = "/"; cookie.Add(c); } } UserSlipaceCookies uc = new UserSlipaceCookies(); uc.Cookies = cookie; uc.UserName = name; uc.SiteId = site_id; if (site_id.Equals(0) || site_id.Equals(2)) { SlipaceUserName = name; } if (!UserSlipaceCookies.ContainsKey(name)) UserSlipaceCookies.Add(name, uc); else UserSlipaceCookies[name] = uc; SlipaceReflashUsers = true; } #endregion #region 阿里巴巴 public void SetAL(string mobile, bool refundFlag) { if (!UserALCookies.ContainsKey(mobile)) { MessageBox.Show("没有找到这个阿里巴巴买家", "提示"); return; } List cookies = UserALCookies[mobile].Cookies; DeleteAL(); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = "https://www.1688.com/"; foreach (System.Net.Cookie c in cookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } ALPayMobile = mobile; ALCookies = cookies; new Thread(ALSet).Start(); } public void ALSet() { Thread.Sleep(1000); var cookieManager = CefSharp.Cef.GetGlobalCookieManager(); //Cef.GetGlobalCookieManager().SetStoragePath(Environment.CurrentDirectory, true); string domain = "https://www.1688.com/"; foreach (System.Net.Cookie c in ALCookies) { var cookie = new CefSharp.Cookie { Domain = c.Domain, Name = c.Name, Value = c.Value, Expires = DateTime.Now.AddYears(1), Path = "/" }; Task task = cookieManager.SetCookieAsync(domain, cookie); while (!task.IsCompleted) { Thread.Sleep(1); continue; } } } public void AddAL(string name, string cookies, int site_id) { FileBase.WriteAllText("temp/ALCookies/" + StringToUnicode(name) + ".tjm", cookies, Encoding.Default); AddListAL(name, cookies, site_id); } public void AddListAL(string name, string cookies, int site_id) { string[] l = cookies.Split(';'); List cookie = new List(); for (int j = 0; j < l.Length; j++) { if (string.IsNullOrEmpty(l[j]) || !l[j].Contains("=")) continue; string[] ll = l[j].Split('='); if (site_id == 3) { Cookie c = new Cookie(); c.Domain = "1688.com"; c.Expires = DateTime.Now.AddYears(1); c.Name = ll[0].Trim(); c.Value = ll[1]; c.Path = "/"; cookie.Add(c); } } UserALCookies uc = new UserALCookies(); uc.Cookies = cookie; uc.UserName = name; uc.SiteId = site_id; if (site_id.Equals(3)) { ALUserName = name; } if (!UserALCookies.ContainsKey(name)) UserALCookies.Add(name, uc); else UserALCookies[name] = uc; ALReflashUsers = true; ALReflashFunUsers = true; } public void DeleteAL() { var cookieManager = Cef.GetGlobalCookieManager(); if (BaseClass.CookiesAllString.ContainsKey("1688.com")) { var cookies = BaseClass.CookiesAllString["1688.com"]; string[] l = cookies.Split(';'); for (int i = 0; i < l.Length; i++) { if (string.IsNullOrEmpty(l[i]) || !l[i].Contains("=")) continue; string name = l[i].Split('=')[0].Trim(); try { cookieManager.DeleteCookies("https://www.1688.com/", name); cookieManager.DeleteCookies("http://www.1688.com/", name); //cookieManager.Dispose(); } catch { } } } } private string StringToUnicode(string value) { byte[] bytes = Encoding.Unicode.GetBytes(value); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < bytes.Length; i += 2) { // 取两个字符,每个字符都是右对齐。 stringBuilder.AppendFormat("u{0}{1}", bytes[i + 1].ToString("x").PadLeft(2, '0'), bytes[i].ToString("x").PadLeft(2, '0')); } return stringBuilder.ToString(); } #endregion } public class UserCookies { public string UserName = ""; public List Cookies = new List(); public int SiteId = 0; } public class UserSlipaceCookies { public string UserName = ""; public List Cookies = new List(); public int SiteId = 0; } public class UserALCookies { public string UserName = ""; public List Cookies = new List(); public int SiteId = 0; } }