不同ContentType的post请求
public static T Invoke<T>(string url, object input, bool requireJSON = true) { using (var client = new HttpClient()) { HttpContent httpContent = null; if (input != null) { string paramJson = string.Empty; if (requireJSON) { paramJson = JsonConvert.SerializeObject(input); } else { paramJson = Convert.ToString(input); } httpContent = new StringContent(paramJson); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); } var response = client.PostAsync(url, httpContent).Result; var result = response.Content.ReadAsStringAsync().Result; var output = JsonConvert.DeserializeObject<T>(result); return output; } }
public static R Post3w<P, R>(string url, P input)
{
using (HttpClient client = new HttpClient())
{
HttpRequestMessage request = new HttpRequestMessage();
request.Method = HttpMethod.Post;
request.RequestUri = new Uri(url);
string inputJson = JsonConvert.SerializeObject(input);
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(inputJson); //convert to key/value pairs
request.Content = new FormUrlEncodedContent(values);
var response = client.SendAsync(request).Result;
var json = response.Content.ReadAsStringAsync().Result;
return JsonConvert.DeserializeObject<R>(json);
}
}

浙公网安备 33010602011771号