首页 > 代码库 > httppost core net
httppost core net
public static string Post(string url, string data, Encoding encoding) { try { HttpWebRequest req = WebRequest.CreateHttp(new Uri(url)); req.ContentType = "application/x-www-form-urlencoded;charset=utf-8"; req.Method = "POST"; req.Accept = "text/xml,text/javascript"; req.ContinueTimeout = 60000; byte[] postData = http://www.mamicode.com/encoding.GetBytes(data);"&"); } query.Append(name); query.Append("="); query.Append(WebUtility.UrlEncode(value)); hasParam = true; } } return query.ToString(); } public static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) { Stream stream = null; StreamReader reader = null; try { // 以字符流的方式读取HTTP响应 stream = rsp.GetResponseStream(); reader = new StreamReader(stream, encoding); return reader.ReadToEnd(); } finally { // 释放资源 if (reader != null) reader.Dispose(); if (stream != null) stream.Dispose(); if (rsp != null) rsp.Dispose(); } } public static string GetAlidayuSign(IDictionary<string, string> parameters, string secret, string signMethod) { //把字典按Key的字母顺序排序 IDictionary<string, string> sortedParams = new SortedDictionary<string, string>(parameters, StringComparer.Ordinal); //把所有参数名和参数值串在一起 StringBuilder query = new StringBuilder(); if (Constants.SIGN_METHOD_MD5.Equals(signMethod)) { query.Append(secret); } foreach (KeyValuePair<string, string> kv in sortedParams) { if (!string.IsNullOrEmpty(kv.Key) && !string.IsNullOrEmpty(kv.Value)) { query.Append(kv.Key).Append(kv.Value); } } //使用MD5/HMAC加密 if (Constants.SIGN_METHOD_HMAC.Equals(signMethod)) { return Hmac(query.ToString(), secret); } else { query.Append(secret); return Md5(query.ToString()); } } public static string Hmac(string value, string key) { byte[] bytes; using (var hmac = new HMACMD5(Encoding.UTF8.GetBytes(key))) { bytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(value)); } StringBuilder result = new StringBuilder(); foreach (byte t in bytes) { result.Append(t.ToString("X2")); } return result.ToString(); } public static string Md5(string value) { byte[] bytes; using (var md5 = MD5.Create()) { bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(value)); } var result = new StringBuilder(); foreach (byte t in bytes) { result.Append(t.ToString("X2")); } return result.ToString(); }
httppost core net
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。