.NET Core发送HTTP Post和Get

 /// 
        /// 公共方法—— 发送http post请求  2020年6月2日11:20:42  Dennyhui
        /// 
        /// 参数
        /// 请求地址
        /// 身份验证秘钥,可为空
        /// 
        public async Task Client_Post(MultipartFormDataContent formData, string requestUri, string token)
        {
            //从工厂获取请求对象
            var client = _httpClientFactory.CreateClient();
            //添加请求头
            if (!string.IsNullOrWhiteSpace(token))
            {
                client.DefaultRequestHeaders.Add("Authorization", token);
            }
            HttpResponseMessage response = client.PostAsync(requestUri, formData).Result;
            return response.Content.ReadAsStringAsync().Result;
        }


        /// 
        /// 公共方法—— 发送http get 请求  2020年6月2日11:22:11  Dennyhui
        /// 最终以url参数的方式提交
        /// 
        /// 参数字典,可为空
        /// 例如/api/Files/UploadFile
        /// 
        public async Task Client_Get(Dictionary parameters, string requestUri, string token)
        {
            //从工厂获取请求对象
            var client = _httpClientFactory.CreateClient();
            //添加请求头
            if (!string.IsNullOrWhiteSpace(token))
            {
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
            }
            //拼接地址
            if (parameters != null)
            {
                var strParam = string.Join("&", parameters.Select(o => o.Key + "=" + o.Value));
                requestUri = string.Concat(requestUri, '?', strParam);
            }
            client.BaseAddress = new Uri(requestUri);
            //client.DefaultRequestHeaders.Add("Content-Type", "application/json; charset=utf-8");
            return client.GetStringAsync(requestUri).Result;
        }

 

你可能感兴趣的:(.net,core,c#,c#)