(1)  访问Rest ful接口时 Token验证  返回数据格式封装

(一)访问时Token验证  返回数据格式封装

  1.1访问Api接口 方法 实现

        1.1.1 创建访问Restful Api帮助类

 public static string MyGet = "GET";
        public static string MyPost = "POST";
        public static string MyPut = "PUT";
        public static string MyDELETE = "DELETE";
        /// <summary>
        ///  访问接口信息
        /// </summary>
        /// <param name="JsonString">抛送的字符串</param>
        /// <param name="achieveUrl">访问的路径</param>
        /// <param name="PublishKey">密钥Token</param>
        /// <param name="Method">访问方法</param>
        /// <returns></returns>
        public static string SendService(string JsonString, string achieveUrl, string PublishKey, string Method)
        {

            //用于返回信息的记录
            var responseValue = string.Empty;
            if (!string.IsNullOrEmpty(achieveUrl))
            {
                //基于http协议的请求响应
                HttpWebRequest request = WebRequest.Create(achieveUrl) as HttpWebRequest;
                //提交方法
                request.Method = Method;
                //设置Http标头信息
                request.UserAgent = "";
                //设置请求超时时间
                request.Timeout = 1000 * 60 * 30;
                //设置读取/写入超时时间
                request.ReadWriteTimeout = 1000 * 60 * 30;
                //request.Headers.Add("", "");
                request.Headers.Add("Token", PublishKey);
                request.ContentType = @"application/json";
                //判断访问方法
                if (Method != "GET" && Method != "PUT")
                {
                    request.ContentLength = Encoding.UTF8.GetByteCount(JsonString);
                    if (!string.IsNullOrEmpty(JsonString))//如果传送的数据不为空,并且方法是put  
                    {
                        var encoding = new UTF8Encoding();
                        var bytes = Encoding.GetEncoding("UTF-8").GetBytes(JsonString);//  
                        request.ContentLength = bytes.Length;
                        using (var writeStream = request.GetRequestStream())
                        {
                            writeStream.Write(bytes, 0, bytes.Length);
                        }
                    }
                }
                //http请求的返回状态
                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    //获取来自 服务器或接口的响应信息
                    using (var responseStream = response.GetResponseStream())
                    {
                        if (responseStream != null)
                        {
                            using (var reader = new StreamReader(responseStream))
                            {
                                responseValue = reader.ReadToEnd();
                            }
                        }
                    }
                }
            }
            return responseValue;
        }
View Code

相关文章:

  • 2021-06-23
  • 2022-02-12
  • 2021-04-11
  • 2021-09-23
  • 2022-12-23
  • 2021-10-29
猜你喜欢
  • 2022-01-22
  • 2021-06-17
  • 2021-10-31
  • 2022-02-09
  • 2021-12-02
相关资源
相似解决方案