代码例子如下:
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
namespace ConsoleAppClient
{
public class HttpHelper
{
public static string PostData(string url, object jsonOBJ)
{
string postResponse = "";
try
{
using (HttpClient hpc = new HttpClient())
{
//hpc.BaseAddress = new Uri(url);
HttpContent httpContent = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(jsonOBJ));
httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
postResponse = hpc.PostAsync(url, httpContent).Result.Content.ReadAsStringAsync().Result;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return postResponse;
}
public static string GetData(string url, Dictionary<string, string> dic)
{
string getResponse = "";
try
{
using (HttpClient hpc = new HttpClient())
{
string para = "?";
foreach (var item in dic)
{
para += string.Format("{0}={1}&", item.Key, item.Value);
}
para = para.TrimEnd('&');
if (dic.Count == 0)
{
para = para.TrimEnd('?');
}
hpc.BaseAddress = new Uri(url);
getResponse = hpc.GetAsync(para).Result.Content.ReadAsStringAsync().Result;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return getResponse;
}
}
}
HttpClient还可以做异步的请求发送,有时间再慢慢研究