Beispiel #1
0
        private static IRestResponse <T> GetApiInfo(apiurl requesturl, string url, object pars, RestSharp.Method type, string Token = "", string ContentType = "")
        {
            var request = new RestRequest(type);

            if (pars != null)
            {
                request.AddObject(pars);
            }
            if (!ContentType.IsEmpty())
            {
                request.AddHeader("Content-Type", "application/json; charset=utf-8");
            }
            string baseutl = BaseConfigModel.Configuration[$"weburl:{requesturl.ToString()}"] + url;
            var    client  = new RestClient(baseutl);

            /*
             * 判断Token是否为,是否需要添加验证
             */
            if (!Token.IsEmpty())
            {
                request.AddHeader("Authorization", Token);
            }
            client.CookieContainer = new System.Net.CookieContainer();
            IRestResponse <T> reval = client.Execute <T>(request);

            if (reval.ErrorException != null)
            {
                // PubMethod.WirteExp(new Exception(reval.Content));
                throw new Exception("请求出错");
            }
            return(reval);
        }
Beispiel #2
0
        public T Put(apiurl requesturl, string url, object pars, string Token = "")
        {
            var type = RestSharp.Method.PUT;
            IRestResponse <T> reval = GetApiInfo(requesturl, url, pars, type, Token);

            return(reval.Data);
        }
Beispiel #3
0
        public static string CreateGetHttpResponse(apiurl apiurl, string url, IDictionary <string, object> parameters, string token = "")
        {
            StringBuilder buffer = new StringBuilder();

            bool first = true;

            foreach (string key in parameters.Keys)
            {
                if (!first)
                {
                    buffer.AppendFormat("&{0}={1}", key, parameters[key]);
                }
                else
                {
                    buffer.AppendFormat("{0}={1}", key, parameters[key]);
                    first = false;
                }
            }
            url = url + "?" + buffer.ToString();
            HttpWebRequest request = WebRequest.Create(BaseConfigModel.Configuration[$"weburl:{apiurl.ToString()}"] + url) as HttpWebRequest;//创建请求对象

            request.Method      = "GET";
            request.ContentType = "application/x-www-form-urlencoded";//链接类型  

            return(GetResponseString((HttpWebResponse)request.GetResponse()));
        }
Beispiel #4
0
        public T Get(apiurl requesturl, string url, object pars, string Token = "", bool _bool = false)
        {
            var type = RestSharp.Method.GET;

            IRestResponse <T> reval = GetApiInfo(requesturl, url, pars, type, Token);

            return(reval.Data);
        }
Beispiel #5
0
        // <summary>
        /// 发送http post请求 </summary> <param name="url">地址</param> <param
        /// name="parameters">查询参数集合</param> <returns></returns>
        public static string CreatePostHttpResponse(apiurl _apiurl, string url, string parameters, string token = "")
        {
            HttpWebRequest request = WebRequest.Create(BaseConfigModel.Configuration[$"weburl:{ _apiurl.ToString()}"] + url) as HttpWebRequest; //创建请求对象

            request.Method      = "POST";                                                                                                       //请求方式
            request.ContentType = "application/json";                                                                                           //链接类型
            if (!string.IsNullOrEmpty(token))
            {
                request.Headers.Add("Authorization", token);//构造查询字符串
            }
            byte[] data = Encoding.UTF8.GetBytes(parameters.ToString());
            //写入请求流
            using (Stream stream = request.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }

            return(GetResponseString((HttpWebResponse)request.GetResponse()));
        }