.Net Core 发送https请求/.net core 调用数字证书 使用X509Certificate2
.Net Core 发送https请求
.net core 调用数字证书 使用X509Certificate2
.NET下面的 .netfromwork使用和asp.net core下使用方式不一样
.Net Core中的使用方式代码:
/// <summary> /// 指定Post地址使用Get 方式获取全部字符串 /// </summary> /// <param name="url">请求后台地址</param> /// <param name="content">Post提交数据内容(utf-8编码的)</param> /// <returns></returns> public static string PostSsl3(string url, string content) { string path = @"D:\Site\QL.Back.API\wwwroot\file\cert\apiclient_cert.p12"; string password = "xxxx"; //HttpClient请求,在handler里添加X509Certificate2 证书,数据data是byte[] 类型,所以需要使用ByteArrayContent传入 var handler = new HttpClientHandler(); handler.ClientCertificateOptions = ClientCertificateOption.Manual; handler.SslProtocols = SslProtocols.Tls12; //获取证书路径 //商户私钥证书,用于对请求报文进行签名 handler.ClientCertificates.Add(new X509Certificate2(path, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet)); handler.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls; handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true; //post请求 var client = new HttpClient(handler); using (MemoryStream ms = new MemoryStream()) { byte[] bytes = Encoding.UTF8.GetBytes(content); ms.Write(bytes, 0, bytes.Length); ms.Seek(0, SeekOrigin.Begin);//设置指针读取位置,否则发送无效 HttpContent hc = new StreamContent(ms); var response = client.PostAsync(url, hc).Result; return response.Content.ReadAsStringAsync().Result; } }
更多:
分类:
.Net Standard
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2017-08-08 .Net Excel操作之NPOI(二)常用操作封装
2017-08-08 .Net Excel操作之NPOI(一)简介