using RestSharp;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace RestHttp
{
public class RestHttpRequest
{
///
/// Get提交
///
/// 提交地址
///
public static IRestResponse HttpGet(string url)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.GET);
//request.Timeout = 5000;
IRestResponse response = client.Execute(request);
return response;
}
catch (Exception ex)
{
return null;
}
}
///
/// Get提交
///
/// 提交地址
///
public static System.Threading.Tasks.Task HttpGetAsync(string url)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.GET);
//request.Timeout = 5000;
IRestResponse response = client.Execute(request);
var cancellationTokenSource = new CancellationTokenSource();
var restResponse = client.ExecuteTaskAsync(request, cancellationTokenSource.Token);
return restResponse;
}
catch (Exception ex)
{
return null;
}
}
///
/// Post提交
///
/// 提交地址
/// 提交的Post信息
///
public static IRestResponse HttpPost(string url, object content)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
//request.Timeout = 5000;
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", content, ParameterType.RequestBody);
var restResponse = client.Execute(request);
return restResponse;
}
catch (Exception ex)
{
return null;
}
}
///
/// Post提交
///
/// 提交地址
/// 提交的Post信息
///
public static Task HttpPostAsync(string url, object content)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
//request.Timeout = 5000;
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", content, ParameterType.RequestBody);
var cancellationTokenSource = new CancellationTokenSource();
var restResponse = client.ExecuteGetTaskAsync(request, cancellationTokenSource.Token);
return restResponse;
}
catch (Exception ex)
{
return null;
}
}
///
/// Post提交
///
/// 提交地址
/// 提交的Post信息
/// 提交信息格式类型
///
public static IRestResponse HttpPost(string url, object content, string contentType)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
//request.Timeout = 5000;
request.AddHeader("Content-Type", contentType);
request.AddParameter(contentType, content, ParameterType.RequestBody);
IRestResponse restResponse = client.Execute(request);
return restResponse;
}
catch (Exception ex)
{
return null;
}
}
///
/// Post提交
///
/// 提交地址
/// 提交的Post信息
/// 提交信息格式类型
///
public static System.Threading.Tasks.Task HttpPostAsync(string url, object content, string contentType)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
//request.Timeout = 5000;
request.AddHeader("Content-Type", contentType);
request.AddParameter(contentType, content, ParameterType.RequestBody);
var cancellationTokenSource = new CancellationTokenSource();
var restResponse = client.ExecuteTaskAsync(request, cancellationTokenSource.Token);
return restResponse;
}
catch (Exception ex)
{
return null;
}
}
}
}