|  | @@ -0,0 +1,84 @@
 | 
	
		
			
				|  |  | +using System;
 | 
	
		
			
				|  |  | +using System.Net.Http;
 | 
	
		
			
				|  |  | +using System.Text;
 | 
	
		
			
				|  |  | +using System.Threading.Tasks;
 | 
	
		
			
				|  |  | +using Newtonsoft.Json;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +public class HttpClientHelper
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    private readonly HttpClient _httpClient;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public HttpClientHelper()
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        _httpClient = new HttpClient();
 | 
	
		
			
				|  |  | +        // 设置一些默认的请求头
 | 
	
		
			
				|  |  | +        _httpClient.DefaultRequestHeaders.Add("User-Agent", "C#-HttpClientHelper");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 发送 GET 请求
 | 
	
		
			
				|  |  | +    public async Task<string> GetAsync(string url)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        try
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            HttpResponseMessage response = await _httpClient.GetAsync(url);
 | 
	
		
			
				|  |  | +            response.EnsureSuccessStatusCode(); // 如果响应状态码不是 2xx,会抛出异常
 | 
	
		
			
				|  |  | +            return await response.Content.ReadAsStringAsync();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        catch (Exception ex)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            // 处理异常
 | 
	
		
			
				|  |  | +            return $"Error: {ex.Message}";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 发送 POST 请求
 | 
	
		
			
				|  |  | +    public async Task<string> PostAsync(string url, object data)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        try
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            var jsonContent = JsonConvert.SerializeObject(data);
 | 
	
		
			
				|  |  | +            var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            HttpResponseMessage response = await _httpClient.PostAsync(url, content);
 | 
	
		
			
				|  |  | +            response.EnsureSuccessStatusCode();
 | 
	
		
			
				|  |  | +            return await response.Content.ReadAsStringAsync();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        catch (Exception ex)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return $"Error: {ex.Message}";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 发送 PUT 请求
 | 
	
		
			
				|  |  | +    public async Task<string> PutAsync(string url, object data)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        try
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            var jsonContent = JsonConvert.SerializeObject(data);
 | 
	
		
			
				|  |  | +            var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            HttpResponseMessage response = await _httpClient.PutAsync(url, content);
 | 
	
		
			
				|  |  | +            response.EnsureSuccessStatusCode();
 | 
	
		
			
				|  |  | +            return await response.Content.ReadAsStringAsync();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        catch (Exception ex)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return $"Error: {ex.Message}";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 发送 DELETE 请求
 | 
	
		
			
				|  |  | +    public async Task<string> DeleteAsync(string url)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        try
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            HttpResponseMessage response = await _httpClient.DeleteAsync(url);
 | 
	
		
			
				|  |  | +            response.EnsureSuccessStatusCode();
 | 
	
		
			
				|  |  | +            return await response.Content.ReadAsStringAsync();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        catch (Exception ex)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return $"Error: {ex.Message}";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |