using System;
|
using System.IO;
|
using System.Net;
|
using System.Net.Http;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace Bro.Common.Helper
|
{
|
public class WebApiHelper
|
{
|
//以毫秒为单位
|
readonly int TimeOut = 999999999;
|
|
public WebApiHelper(int timeout = 9999999)
|
{
|
TimeOut = timeout;
|
}
|
|
public async Task<string> dooPostAsync(string actionUrl, string paras)
|
{
|
string responseStr = string.Empty;
|
|
WebRequest request = WebRequest.Create(actionUrl);
|
request.Timeout = TimeOut;
|
//request.Headers.Add("Authorization", "SDXK_Service");
|
request.Method = "Post";
|
request.ContentType = "application/json";
|
|
byte[] requestData = System.Text.Encoding.UTF8.GetBytes(paras);
|
request.ContentLength = requestData.Length;
|
|
Stream newStream = request.GetRequestStream();
|
newStream.Write(requestData, 0, requestData.Length);
|
newStream.Close();
|
|
var response = await request.GetResponseAsync();
|
Stream ReceiveStream = response.GetResponseStream();
|
using (StreamReader stream = new StreamReader(ReceiveStream, Encoding.UTF8))
|
{
|
responseStr = stream.ReadToEnd();
|
}
|
|
return responseStr;
|
}
|
|
/// <summary></summary>
|
/// <param name="actionUrl"></param>
|
/// <param name="content">
|
/// var content = new FormUrlEncodedContent(new Dictionary<string, string>()
|
///{
|
/// { "","AEADDE34"}
|
///});
|
///</param>
|
/// <returns></returns>
|
public string dooPost(string actionUrl, HttpContent content)
|
{
|
var httpClient = new HttpClient();
|
httpClient.Timeout = new TimeSpan(0, 0, TimeOut / 1000);
|
//httpClient.DefaultRequestHeaders.Add("Authorization", "SDXK_Service");
|
|
return httpClient.PostAsync(actionUrl, content)
|
.Result.Content.ReadAsStringAsync().Result;
|
}
|
|
public string dooPost(string actionUrl, string paras)
|
{
|
string responseStr = string.Empty;
|
|
WebRequest request = WebRequest.Create(actionUrl);
|
request.Timeout = TimeOut;
|
//request.Headers.Add("Authorization", "SDXK_Service");
|
request.Method = "Post";
|
request.ContentType = "application/json";
|
|
byte[] requestData = System.Text.Encoding.UTF8.GetBytes(paras);
|
request.ContentLength = requestData.Length;
|
|
Stream newStream = request.GetRequestStream();
|
newStream.Write(requestData, 0, requestData.Length);
|
newStream.Close();
|
|
var response = request.GetResponse();
|
Stream ReceiveStream = response.GetResponseStream();
|
using (StreamReader stream = new StreamReader(ReceiveStream, Encoding.UTF8))
|
{
|
responseStr = stream.ReadToEnd();
|
}
|
|
return responseStr;
|
}
|
|
public string dooGet(string actionUrl)
|
{
|
var httpClient = new HttpClient();
|
httpClient.Timeout = new TimeSpan(0, 0, TimeOut / 1000);
|
return httpClient.GetAsync(actionUrl).Result.Content.ReadAsStringAsync().Result;
|
}
|
}
|
}
|