using Microsoft.Extensions.Logging;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Net;
|
using System.Net.Http.Headers;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Core.LogHelper;
|
|
namespace WIDESEA_Core.Helper
|
{
|
public class HttpHelper
|
{
|
public static async Task<string> GetAsync(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null)
|
{
|
try
|
{
|
string result = string.Empty;
|
using HttpClient httpClient = new HttpClient();
|
httpClient.Timeout = new TimeSpan(0, 0, 60);
|
|
foreach (var header in headers)
|
httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
|
|
result = await httpClient.GetAsync(serviceAddress).Result.Content.ReadAsStringAsync();
|
return result;
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e.Message);
|
}
|
return null;
|
}
|
|
public static async Task<string> PostAsync(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null)
|
{
|
try
|
{
|
string result = string.Empty;
|
using (HttpContent httpContent = new StringContent(requestJson))
|
{
|
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
using HttpClient httpClient = new HttpClient();
|
httpClient.Timeout = new TimeSpan(0, 0, 60);
|
|
foreach (var header in headers)
|
httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
|
|
result = await httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync();
|
}
|
return result;
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e.Message);
|
}
|
return null;
|
}
|
|
public static string Get(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null)
|
{
|
try
|
{
|
string result = string.Empty;
|
using HttpClient httpClient = new HttpClient();
|
httpClient.Timeout = new TimeSpan(0, 0, 60);
|
|
foreach (var header in headers)
|
httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
|
|
result = httpClient.GetStringAsync(serviceAddress).Result;
|
return result;
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e.Message);
|
}
|
return null;
|
}
|
|
public static string Post(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null)
|
{
|
try
|
{
|
string result = string.Empty;
|
using (HttpContent httpContent = new StringContent(requestJson))
|
{
|
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
using HttpClient httpClient = new HttpClient();
|
httpClient.Timeout = new TimeSpan(0, 0, 60);
|
|
foreach (var header in headers)
|
httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
|
|
result = httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync().Result;
|
}
|
return result;
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e.Message);
|
}
|
finally
|
{
|
|
}
|
return null;
|
}
|
}
|
}
|