C# 实现简单的 HTTP 请求工具(POST 补充)

简介: 该代码实现了一个基于 HttpClient 的异步 HTTP POST 请求工具类,支持以 JSON 格式提交数据并反序列化响应结果,具备异常处理机制,适用于 .NET 环境下的轻量级网络请求操作。
using System.Net.Http;
using System.Text;
using Newtonsoft.Json;
public class HttpHelper
{
    private static readonly HttpClient _httpClient = new HttpClient();
    // POST请求(提交JSON数据)
    public static async Task<TResponse> PostAsync<TRequest, TResponse>(string url, TRequest data)
    {
        try
        {
            string json = JsonConvert.SerializeObject(data);
            HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");
            HttpResponseMessage response = await _httpClient.PostAsync(url, content);
            response.EnsureSuccessStatusCode();
            string responseJson = await response.Content.ReadAsStringAsync();
            return JsonConvert.DeserializeObject<TResponse>(responseJson);
        }
        catch (HttpRequestException ex)
        {
            Console.WriteLine($"HTTP请求错误: {ex.Message}");
            return default;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"POST请求失败: {ex.Message}");
            return default;
        }
    }
    // 调用示例
    public static async Task TestPost()
    {
        var user = new { Name = "张三", Age = 25 };
        var result = await PostAsync<object, string>("https://httpbin.org/post", user);
        Console.WriteLine("POST响应结果: " + result);
    }
}
相关文章
|
5月前
|
JSON API C#
C# 实现简单的 HTTP 请求工具(GET/POST)
HTTP请求工具用于调用第三方API,支持GET和POST方法,实现数据获取与提交。示例代码展示通过HttpClient发送异步POST请求,处理响应并解析JSON结果,适用于高效集成外部服务。
|
6月前
|
JSON 安全 测试技术
C#实现的全能HTTP POST工具类
C#实现的全能HTTP POST工具类,整合了多种协议格式、安全认证和扩展能力,支持JSON、表单、文件上传等场景
|
5月前
|
JSON C# 数据格式
C# JSON 序列化与反序列化:Newtonsoft.Json 用法
JSON是前后端交互常用格式,Newtonsoft.Json(Json.NET)是C#中最流行的JSON处理库。本文介绍如何使用它实现对象与JSON字符串的序列化和反序列化,并提供封装工具类及调用示例,便于在项目中快速集成与使用。
|
网络安全 C#
C# HttpWebRequest 获取 HTTPS 网页内容
C# HttpWebRequest 获取 HTTPS 网页内容
2332 0
Halcon数据类型转换系列(1)图像image、区域region和轮廓xld的相互转换(★firecat推荐★)
Halcon数据类型转换系列(1)图像image、区域region和轮廓xld的相互转换(★firecat推荐★)
2017 0
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
632 2
|
5月前
|
存储 算法 C#
C# 哈希值计算:MD5/SHA256 加密
本示例展示了C#中使用MD5和SHA256算法生成哈希值的方法,适用于密码加密与数据校验。MD5安全性较低,建议仅用于非敏感场景;密码存储推荐使用SHA256配合盐值以增强安全性。
|
网络协议 API C#
C# 中模拟 POST 和 GET 请求的原理与实践
【1月更文挑战第4天】在现代网络应用中,HTTP请求是客户端与服务器交互的基础。其中,GET和POST是最常用的两种请求方法。本文将介绍如何使用C#语言模拟这两种请求,并解释其背后的工作原理。我们将利用.NET框架中的HttpClient类来发送请求,并处理服务器的响应。通过本文,读者将能够理解HTTP请求的基本构成,学会在C#中编写代码来模拟这些请求,进而在开发过程中实现与Web服务的交互。
|
SQL 关系型数据库 MySQL
【MySQL】根据相同值,拼接指定字段值,还可添加前缀后缀(GROUP_CONCAT()、CONCAT()、GROUP BY 联用)
【MySQL】根据相同值,拼接指定字段值,还可添加前缀后缀(GROUP_CONCAT()、CONCAT()、GROUP BY 联用)
831 0
【MySQL】根据相同值,拼接指定字段值,还可添加前缀后缀(GROUP_CONCAT()、CONCAT()、GROUP BY 联用)
|
3月前
|
人工智能 弹性计算 自然语言处理
快速部署OpenClaw!阿里云三步打造专属AI助理!
OpenClaw(原Clawdbot/Moltbot)是支持自然语言指令的AI数字员工,可主动完成文件管理、日程安排、跨平台协同与代码辅助等任务。本文详解阿里云三步一键部署法:购轻量服务器→开通百炼API→图形化配置,零代码打造7×24小时智能助手。
263 0