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