软测单独项目
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

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;
}
}
}
}