接口调用
一、WebClient
/// <summary> /// 后台发起http请求 /// </summary> /// <param name="url">请求URL</param> /// <returns>请求结果字符串</returns> private string HttpGet(string url) { var str = ""; var web = new WebClient(); web.Encoding = System.Text.Encoding.UTF8; str = web.DownloadString(url); return str; } /// <summary> /// 后台post方法 /// </summary> /// <param name="url"></param> /// <param name="data"></param> /// <returns></returns> private string HttpPost(string url, string data) { var str = ""; byte[] requestData = Encoding.GetEncoding("UTF-8").GetBytes(data); var web = new WebClient(); web.Encoding = System.Text.Encoding.UTF8; web.Headers.Add("Content-Type", "application/json"); web.Headers.Add("ContentLength", requestData.Length.ToString()); byte[] responseData = web.UploadData(url, "POST", requestData); str = Encoding.GetEncoding("UTF-8").GetString(responseData); return str; } public static void GetPublicKeyNew() { try { StringBuilder sbdata = new StringBuilder("{"); sbdata.AppendFormat("\"loginName\": \"{0}\"", loginName); sbdata.Append("}"); Console.WriteLine(HttpPost(url, sbdata.ToString())); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
二、HttpWebRequest
/// <summary> /// 获取公钥 /// </summary> /// <returns></returns> private string GetPublicKey() { var publicKey = ""; try { url += "/WPMS/getPublicKey"; var jsonParam = string.Format("{{ \"loginName\":\"{0}\" }}", loginName); var request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/json;charset=UTF-8"; byte[] byteData = Encoding.UTF8.GetBytes(jsonParam); int length = byteData.Length; request.ContentLength = length; Stream writer = request.GetRequestStream(); writer.Write(byteData, 0, length); writer.Close(); var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd(); var responseModel = JMP.Framework.Utility.JsonHelper.DeserializeJsonToObject<PublicKey>(responseString.ToString()); if (responseModel.success.Equals("true")) { publicKey = responseModel.publicKey; } else { JMP.Framework.Utility.ErrorLog.WCFLogHelper.NewLog(string.Format("错误信息:{0}!", responseModel.errMsg)); } } catch (Exception ex) { JMP.Framework.Utility.ErrorLog.WCFLogHelper.NewError(ex, "获取公钥错误!"); } return publicKey; }

浙公网安备 33010602011771号