HttpClientHelper
---恢复内容开始---
把HttpClient封装一下,结合博客园的大佬们的建议。
public sealed class HttpClientHelp
{
private HttpClientHelp() { }
public static readonly HttpClient Client;
public static readonly string AccessToken;
/// <summary>
/// 构造函数初始化HttpClient
/// </summary>
static HttpClientHelp()
{
Client = new HttpClient();
if(!string.IsNullOrEmpty(AccessToken))
{
Client.DefaultRequestHeaders.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", AccessToken);
}
}
/// <summary>
/// 异步Get方式请求
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public async Task<string> GetResponseAsync(string url)
{
string result = await Client.GetStringAsync(url);
return result;
}
/// <summary>
/// 异步Post方式请求
/// </summary>
/// <param name="url"></param>
/// <param name="content"></param>
/// <returns></returns>
public async Task<HttpResponseMessage> PostResponseAsync(string url, HttpContent content)
{
HttpResponseMessage message = await Client.PostAsync(url, content);
return message;
}
/// <summary>
/// 以异步的方式请求并将异步请求的结果返回
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetResponse(string url)
{
string result = Client.GetStringAsync(url).Result;
return result;
}
/// <summary>
/// 以异步的方式请求并将异步请求的结果返回
/// </summary>
/// <param name="url"></param>
/// <param name="content"></param>
/// <returns></returns>
public static HttpResponseMessage PostResponse(string url, HttpContent content)
{
HttpResponseMessage result = Client.PostAsync(url,content).Result;
return result;
}
public static void AddHeads(string key,string data)
{
//例如"UserAgent", "contact@xxxxx.com"
Client.DefaultRequestHeaders.Add(key, data);
}
}
---恢复内容结束---
遨游在知识的海洋,深入技术的研究
浙公网安备 33010602011771号