Exemplo n.º 1
0
        /// <summary>
        /// 修改API
        /// </summary>
        /// <param name="url"></param>
        /// <param name="postData"></param>
        /// <returns></returns>
        public static string KongPatchResponse <T>(string url, T param = null, IEnumerable <KeyValuePair <string, string> > keyValues = null) where T : class
        {
            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);

            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            httpWebRequest.Method      = "POST";
            var paramStr = ModelToHttpParam <T> .ToPostFromBodyParam(param);

            if (keyValues != null)
            {
                paramStr = paramStr.Union(keyValues);
            }
            string s3 = (from pair in paramStr
                         select pair.Key + "=" + System.Web.HttpUtility.UrlEncode(pair.Value.ToString())).DefaultIfEmpty("").Aggregate((string a, string b) => a + "&" + b);

            byte[] btBodys = Encoding.UTF8.GetBytes(s3);
            httpWebRequest.ContentLength = btBodys.Length;
            httpWebRequest.GetRequestStream().Write(btBodys, 0, btBodys.Length);

            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            var             streamReader    = new StreamReader(httpWebResponse.GetResponseStream());
            string          responseContent = streamReader.ReadToEnd();

            httpWebResponse.Close();
            streamReader.Close();
            httpWebRequest.Abort();
            httpWebResponse.Close();

            return(responseContent);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 实体转成Delete参数
        /// </summary>
        /// <typeparam name="T">请求参数实体类型</typeparam>
        /// <typeparam name="K">返回结果实体类型</typeparam>
        /// <param name="url">请求url</param>
        /// <param name="param">请求参数实体</param>
        /// <returns></returns>
        public static async Task <K> Delete <T, K>(string url, T param = null) where T : class
        {
            HttpClient httpClient = new HttpClient();
            //httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
            var paramStr = ModelToHttpParam <T> .ToGetParam(param);

            var requstResult = await httpClient.DeleteAsync(url + paramStr);

            var result = string.Empty;

            using (requstResult)
            {
                result = await requstResult.Content.ReadAsStringAsync();
            }
            return(JsonConvert.DeserializeObject <K>(result));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Post请求
        /// </summary>
        /// <typeparam name="T">请求参数实体类型</typeparam>
        /// <typeparam name="K">返回结果实体类型</typeparam>
        /// <param name="url">请求url</param>
        /// <param name="param">请求参数实体</param>
        /// <returns></returns>
        public static async Task <K> PostJson <T, K>(string url, T param = null) where T : class
        {
            HttpClient httpClient = new HttpClient();
            var        paramStr   = ModelToHttpParam <T> .ToPostJsonParam(param);

            var strContent = new StringContent(paramStr);

            strContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");// ("content-type", "application/json");
            var requstResult = await httpClient.PostAsync(url, strContent);

            var result = string.Empty;

            using (requstResult)
            {
                result = await requstResult.Content.ReadAsStringAsync();
            }
            return(JsonConvert.DeserializeObject <K>(result));
        }
Exemplo n.º 4
0
        /// <summary>
        /// Post请求
        /// </summary>
        /// <typeparam name="T">请求参数实体类型</typeparam>
        /// <typeparam name="K">返回结果实体类型</typeparam>
        /// <param name="url">请求url</param>
        /// <param name="param">请求参数实体</param>
        /// <returns></returns>
        public static async Task <K> PostFromBody <T, K>(string url, T param = null, IEnumerable <KeyValuePair <string, string> > keyValues = null, string contentType = null) where T : class
        {
            HttpClient httpClient = new HttpClient();
            var        paramStr   = ModelToHttpParam <T> .ToPostFromBodyParam(param);

            if (keyValues != null)
            {
                paramStr = paramStr.Union(keyValues);
            }
            var strContent = new FormUrlEncodedContent(paramStr);

            strContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/x-www-form-urlencoded");
            var requstResult = await httpClient.PostAsync(url, strContent);

            var result = string.Empty;

            using (requstResult)

            {
                result = await requstResult.Content.ReadAsStringAsync();
            }
            return(JsonConvert.DeserializeObject <K>(result));
        }