关于串通京东接口的demo

 1  public string Get(int id)
 2         {
 3 
 4             JObject o = new JObject(              
 5                 new JProperty("billNo", "ESL1363593563"),
 6                 new JProperty("billType", "24"),
 7                 new JProperty("pageNo", "1"),
 8                 new JProperty("pageSize", "10"),
 9                 new JProperty("queryType ", "1")
10                 );         
11             //压缩str,用于得到sign的值
12             string str = "360buy_param_json" + o.ToString()+ "access_token"+123+"app_key"+123+"method"+123+"timestamp="+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") +"v2.0";
13             //完整str
14             string str1 = "360buy_param_json=" + o.ToString() + "&access_token=" + 123 + "&app_key=" + 123 + "&method=" + 123 + "&timestamp=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "&v=2.0";
15 
16             string end = "yourappSecret" + str + "yourappSecret";
17             string md5= StrToMD5(end);//得出来sign  
18             //最后拼接url:
19             string endstr= str1 + "&sign=" + md5;
20             string allStr = System.Web.HttpUtility.UrlEncode(endstr, System.Text.Encoding.UTF8);
21             //byte[] bufferB = Encoding.UTF8.GetBytes(allStr);
22 
23             //System.Net.ServicePointManager.DefaultConnectionLimit = 200;
24             //HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create("www.cctv.com");
25             //WebReq.Method = "POST";
26             //WebReq.ContentType = "application/x-www-form-urlencoded";
27             //WebReq.ContentLength = allStr.Length;
28             //Stream PostData = WebReq.GetRequestStream();
29             //PostData.Write(bufferB, 0, bufferB.Length);
30             //PostData.Close();
31 
32 
33             //HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
34             //StreamReader sr = new StreamReader(WebResp.GetResponseStream(), System.Text.Encoding.UTF8);
35             //string backstr = sr.ReadToEnd();
36             //backstr = HttpUtility.UrlDecode(backstr);
37             //Console.WriteLine(WebResp.StatusCode);
38             //Console.WriteLine(WebResp.Server);
39             //Stream Answer = WebResp.GetResponseStream();
40             //StreamReader _Answer = new StreamReader(Answer);
41             //Console.WriteLine(_Answer.ReadToEnd());
42 
43             //return _Answer.ReadToEnd();
44             return endstr;
45 
46         }
 1    private string GetString(string val, char c)
 2         {
 3             return val.TrimStart(c).TrimEnd(c);
 4         }
 5 
 6         private static string GetSignature(IDictionary<string, string> parameters, string secret)
 7         {
 8             // 先将参数以其参数名的字典序升序进行排序
 9             IDictionary<string, string> sortedParams = new SortedDictionary<string, string>(parameters);
10             IEnumerator<KeyValuePair<string, string>> iterator = sortedParams.GetEnumerator();
11 
12             // 遍历排序后的字典,将所有参数按"keyvaluekeyvalue"格式拼接在一起
13             StringBuilder basestring = new StringBuilder();
14             while (iterator.MoveNext())
15             {
16                 string key = iterator.Current.Key;
17                 string value = iterator.Current.Value.ToString();
18                 if (!string.IsNullOrEmpty(key) && value != null)
19                 {
20                     basestring.Append(key).Append(value);
21                 }
22             }
23 
24             // 使用MD5对待签名串求签
25             string upperCaseStr = StrToMD5(basestring.ToString());
26             string result = StrToMD5(upperCaseStr + secret);
27             return result;
28         }
29 
30         private static string StrToMD5(string str)
31         {
32             byte[] data = Encoding.UTF8.GetBytes(str);
33             MD5 md5 = new MD5CryptoServiceProvider();
34             byte[] OutBytes = md5.ComputeHash(data);
35 
36             string OutString = "";
37             for (int i = 0; i < OutBytes.Length; i++)
38             {
39                 OutString += OutBytes[i].ToString("x2");
40             }
41             return OutString.ToUpper();
42         }

猜你喜欢

转载自www.cnblogs.com/ZkbFighting/p/11038001.html