/// <summary> /// 获取sid uid 结果存放在cookies中 /// </summary> public string GetSidUid(string login_redirect) { try { CookieContainer cookieContainer = new CookieContainer(); byte[] bytes = HttpService.SendGetRequest(login_redirect + "&fun=new&version=v2&lang=zh_CN", ref cookieContainer); string pass_ticket = Encoding.UTF8.GetString(bytes); string url = login_redirect; Uri uri = new Uri(url); string WXUser_url = (uri.Host); string pass_Ticket = pass_ticket.Split(new string[] { "pass_ticket" }, StringSplitOptions.None)[1].TrimStart('>').TrimEnd('<', '/'); string sKey = pass_ticket.Split(new string[] { "skey" }, StringSplitOptions.None)[1].TrimStart('>').TrimEnd('<', '/'); string wxSid = pass_ticket.Split(new string[] { "wxsid" }, StringSplitOptions.None)[1].TrimStart('>').TrimEnd('<', '/'); string wxUin = pass_ticket.Split(new string[] { "wxuin" }, StringSplitOptions.None)[1].TrimStart('>').TrimEnd('<', '/'); var passticketEntity = new PassTicketEntity() { PassTicket = pass_Ticket, SKey = sKey, WxSid = wxSid, WxUin = wxUin, WXUser_url = WXUser_url }; LoginCore.AddPassTicket(wxUin, passticketEntity); if (HttpService.CookiesContainerDic.ContainsKey(wxUin)) { HttpService.CookiesContainerDic.Remove(wxUin); } WxSerializable s = new WxSerializable(wxUin, EnumContainer.SerializType.cookie); HttpService.CookiesContainerDic.Add(wxUin, cookieContainer); s.Serializable(HttpService.CookiesContainerDic); return(wxUin); } catch { return(null); } }