public static AlimamaQueryBean get_img_url(CmsForm cmsForm, string url, string cookie, out string sessionid) { sessionid = ""; AlimamaQueryBean alimamaQueryBean = null; try { WebClient client = new WebClient(); client.Headers.Clear(); client.Headers.Add("Accept", "application/json, text/javascript, */*; q=0.01"); client.Headers.Add("X-Requested-With", "XMLHttpRequest"); client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"); client.Headers.Add("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); client.Headers.Add("Referer", "http://pub.alimama.com/promo/search/index.htm"); client.Headers.Add("Accept-Encoding", "gzip,deflate,sdch"); client.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8"); client.Headers.Add("Cookie", cookie); string str4 = ""; byte[] buffer = client.DownloadData(url); string str5 = client.ResponseHeaders["Content-Encoding"]; if ("gzip".Equals(str5)) { str4 = GzipUtil.zip_to_string(buffer, Encoding.UTF8); } else { str4 = Encoding.UTF8.GetString(buffer); } if (str4.Contains("sessionid: '")) { alimamaQueryBean = new AlimamaQueryBean(); sessionid = StringUtil.subString(str4, 0, "sessionid: '", "'"); if (!string.IsNullOrEmpty(sessionid)) { alimamaQueryBean.sessionid = sessionid; alimamaQueryBean.img_url = "http://pin.aliyun.com/get_img?identity=sm-union-pub&sessionid=" + sessionid + "&type=number&t=1497692646342"; alimamaQueryBean.action = StringUtil.subString(str4, 0, "action: '", "'"); alimamaQueryBean.event_submit_do_unique = StringUtil.subString(str4, 0, "event_submit_do_unique: '", "'"); alimamaQueryBean.smPolicy = StringUtil.subString(str4, 0, "smPolicy: '", "'"); alimamaQueryBean.smApp = StringUtil.subString(str4, 0, "smApp: '", "'"); alimamaQueryBean.smReturn = StringUtil.subString(str4, 0, "smReturn: '", "'"); alimamaQueryBean.smCharset = StringUtil.subString(str4, 0, "smCharset: '", "'"); alimamaQueryBean.smTag = StringUtil.subString(str4, 0, "smTag: '", "'"); alimamaQueryBean.captcha = StringUtil.subString(str4, 0, "captcha: '", "'"); alimamaQueryBean.smSign = StringUtil.subString(str4, 0, "smSign: '", "'"); alimamaQueryBean.identity = StringUtil.subString(str4, 0, "identity: '", "'"); return(alimamaQueryBean); } } return(null); } catch (Exception exception) { return(null); } }
public static bool check_code(CmsForm cmsForm, int count, string code_url, string taoke_cookie, out string out_log, out string queryToken) { out_log = ""; queryToken = ""; count = count + 1; code_url = AlimamaCodeUtil.code_url(cmsForm, code_url, taoke_cookie); if (!String.IsNullOrEmpty(code_url)) { string out_log_img = ""; string sessionid = ""; AlimamaQueryBean alimamaQueryBean = AlimamaCodeUtil.get_img_url(cmsForm, code_url, taoke_cookie, out sessionid); string down_img_url = AlimamaCodeUtil.down_img(cmsForm, alimamaQueryBean.img_url); string img_text = AlimamaCodeUtil.si_img(cmsForm, down_img_url, out out_log_img); //out_log = img_text + ":" + down_img_url + ":" + out_log_img; if (!String.IsNullOrEmpty(img_text)) { bool check_img = AlimamaCodeUtil.check_code(cmsForm, img_text, sessionid, taoke_cookie); if (check_img) { queryToken = AlimamaCodeUtil.submit_query_code(cmsForm, alimamaQueryBean, img_text, taoke_cookie); return(true); } else { if (count <= 5) { return(AlimamaCodeUtil.check_code(cmsForm, count, code_url, taoke_cookie, out out_log, out queryToken)); } else { return(false); } } } else { if (count <= 5) { return(AlimamaCodeUtil.check_code(cmsForm, count, code_url, taoke_cookie, out out_log, out queryToken)); } else { return(false); } } } return(false); }
public static string submit_query_code(CmsForm cmsForm, AlimamaQueryBean alimamaQueryBean, string img_code, string taoke_cookie) { try { WebClient client = new WebClient(); client.Headers.Clear(); client.Headers.Add("Accept", "application/json, text/javascript, */*; q=0.01"); client.Headers.Add("X-Requested-With", "XMLHttpRequest"); client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"); client.Headers.Add("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); client.Headers.Add("Referer", "http://pub.alimama.com/promo/search/index.htm"); client.Headers.Add("Accept-Encoding", "gzip,deflate,sdch"); client.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8"); client.Headers.Add("Cookie", taoke_cookie); string str2 = "http://pub.alimama.com/__x5__/query.htm?action={action}" + "&event_submit_do_unique={event_submit_do_unique}" + "&smPolicy={smPolicy}" + "&smApp={smApp}" + "&smReturn={smReturn}" + "&smCharset={smCharset}" + "&smTag={smTag}" + "&captcha={captcha}" + "&smSign={smSign}" + "&ua=116UW5TcyMNYQwiAiwQRHhBfEF8QXtHcklnMWc%3D%7CUm5Ockt%2FRX9CdkN3T3dJdCI%3D%7CU2xMHDJoMnoBZhhiD3RaelRtQ2NNCmMIJnAm%7CVGhXd1llXGhSaFVhVGBYYF9jVGlLcE1zTXFLf0RwRX5Dfkd8R2k%2F%7CVWldfS0TMww1DCwSMhxzDlN9K30%3D%7CVmhIGCcZOQQkGCcdKQk1AT4eIh0oFTUAPQAgHCMWKwsxDjFnMQ%3D%3D%7CV25OHjAePgE5DCwQKBU1DjAINWM1%7CWGFBET8RMQ42AyMfIBs7ATkBOmw6%7CWWBAED4QMAwxCDwcIB4%2BAT4DPgI5bzk%3D%7CWmNDEz0TMwYzCCgULBg4AD0INgs3YTc%3D%7CW2NDEz0TM2NZbVNzR3MlBToaNBo6Aj8KMQwzZTM%3D%7CXGVFFTsVNQ81ASEdIRg4Aj8HPgE6bDo%3D%7CXWVFFTsVNWVeZlx8QHhGEDAPLwEvDzMNOQA%2BCjRiNA%3D%3D%7CXmZGFjh4LGUCbgNAJl8jXnBQADwDPx8jHiJ0VGlJZ0lpVWxRbFBlUQdR%7CX2REFDp6LmcAbAFCJF0hXHJSalFxTGxQaVRoUWxZD1k%3D%7CQHtbCyVlMXgfcx5dO0I%2BQ21NdU5uU3NPdkt3T3dIHkg%3D%7CQXpaCiRkMHkech9cOkM%2FQmxMdE9vUnJOd0p2Q3ZNG00%3D%7CQnlZCSdnM3odcRxfOUA8QW9Pd0xsUXFNdEl2S3NLHUs%3D%7CQ3tbCyVlMUs3XThZJAoqekF6WmZfaz0dIAAuACAcJRskHCUaTBo%3D%7CRHxcDCJiNn8YdBlaPEU5RGpKGi8XNws2A1V1SGhGaEh0TXRAfkN5L3k%3D%7CRX1dDSNjN34ZdRhbPUQ4RWtLGy4WNgo3AlR0SWlHaUl1THVBeEx1I3U%3D%7CRn1dDSNjN34ZdRhbPUQ4RWtLfl5jQ39GfEd7T3UjdQ%3D%3D%7CR35Dfl5jQ3xcYFllRXtDeVlgQHxBYVV1QGBaekZ%2BXmZGekRkWGdHeEdnWGREe0ZmWm5OdFRvT3dXa1MF" + "&identity={identity}" + "&code={code}" + "&_ksTS={_ksTS}&callback=jsonp91"; string address = str2 .Replace("{action}", alimamaQueryBean.action) .Replace("{event_submit_do_unique}", alimamaQueryBean.event_submit_do_unique) .Replace("{smPolicy}", alimamaQueryBean.smPolicy) .Replace("{smApp}", alimamaQueryBean.smApp) .Replace("{smReturn}", HttpUtility.UrlEncode(alimamaQueryBean.smReturn)) .Replace("{smCharset}", alimamaQueryBean.smCharset) .Replace("{smTag}", HttpUtility.UrlEncode(alimamaQueryBean.smTag)) .Replace("{captcha}", HttpUtility.UrlEncode(alimamaQueryBean.captcha)) .Replace("{smSign}", HttpUtility.UrlEncode(alimamaQueryBean.smSign)) .Replace("{ua}", "") .Replace("{identity}", alimamaQueryBean.identity) .Replace("{_ksTS}", "") .Replace("{code}", img_code) ; string str4 = ""; byte[] buffer = client.DownloadData(address); string str5 = client.ResponseHeaders["Content-Encoding"]; if ("gzip".Equals(str5)) { str4 = GzipUtil.zip_to_string(buffer, Encoding.UTF8); } else { str4 = Encoding.UTF8.GetString(buffer); } //LogUtil.log_cms_call(cmsForm, "queryToken:" + str4); if (str4.Contains("\"queryToken\"")) { string code_url = StringUtil.subString(str4, 0, "\"queryToken\":\"", "\""); return(code_url); } return(""); } catch (Exception exception) { return(""); } }