You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
5.3 KiB
162 lines
5.3 KiB
|
|
using RestSharp;
|
|
using System;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace RestHttp
|
|
{
|
|
public class RestHttpRequest
|
|
{
|
|
/// <summary>
|
|
/// Get提交
|
|
/// </summary>
|
|
/// <param name="url">提交地址</param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Get提交
|
|
/// </summary>
|
|
/// <param name="url">提交地址</param>
|
|
/// <returns></returns>
|
|
public static System.Threading.Tasks.Task<IRestResponse> 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;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post提交
|
|
/// </summary>
|
|
/// <param name="url">提交地址</param>
|
|
/// <param name="content">提交的Post信息</param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Post提交
|
|
/// </summary>
|
|
/// <param name="url">提交地址</param>
|
|
/// <param name="content">提交的Post信息</param>
|
|
/// <returns></returns>
|
|
public static Task<IRestResponse> 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;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// Post提交
|
|
/// </summary>
|
|
/// <param name="url">提交地址</param>
|
|
/// <param name="content">提交的Post信息</param>
|
|
/// <param name="contentType">提交信息格式类型</param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post提交
|
|
/// </summary>
|
|
/// <param name="url">提交地址</param>
|
|
/// <param name="content">提交的Post信息</param>
|
|
/// <param name="contentType">提交信息格式类型</param>
|
|
/// <returns></returns>
|
|
public static System.Threading.Tasks.Task<IRestResponse> 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;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|