51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
using System.Text;
|
|
using System.Text.Json;
|
|
|
|
namespace ACBuildService;
|
|
|
|
public static class HttpHelper
|
|
{
|
|
private static readonly HttpClient _httpClient = new HttpClient();
|
|
|
|
public static async Task<string> GetAsync(string url)
|
|
{
|
|
try
|
|
{
|
|
HttpResponseMessage response = await _httpClient.GetAsync(url);
|
|
response.EnsureSuccessStatusCode();
|
|
|
|
// 使用 UTF-8 编码读取响应内容
|
|
byte[] byteArray = await response.Content.ReadAsByteArrayAsync();
|
|
return Encoding.UTF8.GetString(byteArray);
|
|
}
|
|
catch (HttpRequestException e)
|
|
{
|
|
// 处理请求异常
|
|
Console.WriteLine($"Request error: {e.Message}");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public static async Task<string> PostAsync<T>(string url, T data)
|
|
{
|
|
try
|
|
{
|
|
string json = JsonSerializer.Serialize(data);
|
|
StringContent content = new StringContent(json, Encoding.UTF8, "application/json");
|
|
|
|
HttpResponseMessage response = await _httpClient.PostAsync(url, content);
|
|
response.EnsureSuccessStatusCode();
|
|
|
|
// 使用 UTF-8 编码读取响应内容
|
|
byte[] byteArray = await response.Content.ReadAsByteArrayAsync();
|
|
return Encoding.UTF8.GetString(byteArray);
|
|
}
|
|
catch (HttpRequestException e)
|
|
{
|
|
// 处理请求异常
|
|
Console.WriteLine($"Request error: {e.Message}");
|
|
throw;
|
|
}
|
|
}
|
|
}
|