public async Task GetProductInfo(User currentUser = null, string url = null) { var producUrl = url ?? Url; var client = Utilities.HttpClient("http://store.nike.com", new CookieContainer()); var response = await client.SendAsync(RequestMessageBuilder.BuildProductInfoRequest(producUrl)); response.EnsureSuccessStatusCode(); FillProductInfo(await response.Content.ReadAsStringAsync()); }
public static RestRequest Login(User user) { var request = new RestRequest(Consts.LoginUrl, Method.POST); request.Parameters.Clear(); request.AddParameter("login", user.Username); request.AddParameter("password", user.Password); request.AddParameter("rememberMe", "false"); AddBaseHeaders(request); return request; }
public SeleniumSteps Login(User user) { _driver.Navigate(); _driver.ExecuteJavaScript<string>("$('.login-text').click()"); var emailInput = _driver.FindElement(By.Id("exp-login-email_modal")); emailInput.SendKeys(user.Username); var pwdInput = _driver.FindElement(By.Id("exp-login-password_modal")); pwdInput.Clear(); pwdInput.SendKeys(user.Password); var submit = _driver.FindElement(By.ClassName("exp-login-submit")); submit.Click(); return this; }
public static HttpRequestMessage BuildAddProductRequest(User user, Product product) { var request = new HttpRequestMessage(HttpMethod.Get, "ap/services/jcartService?callback=nike_Cart_handleJCartResponse&action=addItem&lang_locale=zh_CN&country=CN&catalogId=4&productId=10873886&price=1599&siteId=null&line1=Kobe+XI+Elite+Low+BHM&line2=%E7%94%B7%E5%AD%90%E7%AF%AE%E7%90%83%E9%9E%8B&passcode=null&sizeType=null&skuAndSize=15848073%3A42.5&qty=1&rt=json&view=3&skuId=15848073&displaySize=42.5&_=1453400314000"); request.Headers.Add("Accept", "*/*"); request.Headers.Add("Accept-Encoding", "gzip, deflate, sdch"); request.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4,zh-TW;q=0.2"); request.Headers.Add("Cache-Control", "no-cache"); request.Headers.Add("Connection", "keep-alive"); request.Headers.Add("Host", "secure-store.nike.com"); request.Headers.Add("Pragma", "no-cache"); request.Headers.Referrer = new Uri("http://store.nike.com/cn/zh_cn/pd/kobe-11-elite-low-bhm-%E7%AF%AE%E7%90%83%E9%9E%8B/pid-10873886/pgid-11181193"); request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"); return request; }
private static string BuildPrData(User user) { var isLogin = user.IsLogined ? 1 : 0; var displayName = user.DisplayName ?? string.Empty; isLogin += 0; // isSwoosh 不知道是干什么的, 一直是否。 代码里: true:2 , false: 0 var exp = string.Empty; // 貌似是过期时间:this.exp && this.exp instanceof Date ? this.exp.toJSON() : ""; var avatarUrl = user.AvatarUrl ?? string.Empty; var profileId = user.Id ?? string.Empty; var screenName = user.ScreenName ?? string.Empty; return Utilities.JsBase64Encode($"{isLogin}$${displayName}$${avatarUrl}$${exp}$${profileId}$${screenName}$$"); }
public static HttpRequestMessage BuildCartInfoRequest(User user) { user.Cookies.Add(new Cookie("pr_data", BuildPrData(user)) { Domain = ".nike.com" }); user.Cookies.Add(new Cookie("pr_id", "14153657021") { Domain = ".nike.com" }); var unixTime = Utilities.UnixTimeStamp(); var request = new HttpRequestMessage(HttpMethod.Get, $"ap/services/jcartService?callback=jQuery172024396281223744154_{unixTime}&action=getCartSummary&rt=json&country=CN&lang_locale=zh_CN&_={unixTime}"); request.Headers.Add("Accept", "*/*"); request.Headers.Add("Accept-Encoding", "gzip, deflate, sdch"); request.Headers.Add("Accept-Language", "en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4"); request.Headers.Add("Cache-Control", "no-cache"); request.Headers.Add("Connection", "keep-alive"); request.Headers.Add("Host", "secure-store.nike.com"); request.Headers.Add("Pragma", "no-cache"); request.Headers.Referrer = new Uri("http://store.nike.com/cn/zh_cn/pd/kobe-11-elite-low-bhm-%E7%AF%AE%E7%90%83%E9%9E%8B/pid-10873886/pgid-11181193"); request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"); return request; }