接口调用

一、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;
        }

 

posted @ 2022-04-06 15:51  加菲叫老猫  阅读(97)  评论(0)    收藏  举报