public static string PostFromQueryToString(string url, string reqData)
{ string strUrl = new UriBuilder(url)
{
Query = reqData
}.ToString();
if (strUrl.StartsWith("https")) { System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; } using (HttpClient httpClient = new HttpClient())
{
try
{ using (HttpResponseMessage response = httpClient.SendAsync(new HttpRequestMessage(HttpMethod.Post, strUrl)).Result)
{
string resultStr = string.Empty;
if (response.IsSuccessStatusCode)
{
Task<string> t = response.Content.ReadAsStringAsync();
resultStr = t.Result;
}
response.Dispose();
return resultStr;
}
}
catch (System.AggregateException ex)
{
return ex.Message;
}
finally
{
httpClient.Dispose();
} }
} public static string PostFromBodyToString(string strUrl, string reqData)
{
try
{ if (strUrl.StartsWith("https"))
{
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
}
string result = string.Empty;
using (HttpContent httpContent = new StringContent(System.Text.Json.JsonSerializer.Serialize(reqData), System.Text.Encoding.UTF8, "application/json"))
{
using (HttpClient httpClient = new HttpClient())
{
try
{
using (HttpResponseMessage httpRes = httpClient.PostAsync(strUrl, httpContent).Result)
{
if (httpRes.IsSuccessStatusCode)
{
result = httpRes.Content.ReadAsStringAsync().Result;
}
httpRes.Dispose();
} }
catch (Exception ex)
{
throw ex;
}
finally
{
httpClient.Dispose();
httpContent.Dispose();
} }
}
return result;
}
catch (Exception ex)
{
throw ex;
}
} public static string PostFromFormToString(string url, Dictionary<string, string> reqData)
{
try
{
string result = string.Empty;
using (HttpContent httpContent = new FormUrlEncodedContent(reqData))
{
using (HttpClient httpClient = new HttpClient())
{
try
{
using (HttpResponseMessage httpRes = httpClient.PostAsync(url, httpContent).Result)
{
if (httpRes.IsSuccessStatusCode)
{
result = httpRes.Content.ReadAsStringAsync().Result;
}
httpRes.Dispose();
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
httpClient.Dispose();
httpContent.Dispose();
}
}
}
return result;
}
catch (Exception ex)
{
throw ex;
}
}

C# (Net6) HttpClient 帮助类的更多相关文章

  1. Java开发小技巧(五):HttpClient工具类

    前言 大多数Java应用程序都会通过HTTP协议来调用接口访问各种网络资源,JDK也提供了相应的HTTP工具包,但是使用起来不够方便灵活,所以我们可以利用Apache的HttpClient来封装一个具 ...

  2. 基于HttpClient4.5.2实现的HttpClient工具类

    1.maven依赖: <dependency> <groupId>org.apache.commons</groupId> <artifactId>co ...

  3. 转:轻松把玩HttpClient之封装HttpClient工具类(一)(现有网上分享中的最强大的工具类)

    搜了一下网络上别人封装的HttpClient,大部分特别简单,有一些看起来比较高级,但是用起来都不怎么好用.调用关系不清楚,结构有点混乱.所以也就萌生了自己封装HttpClient工具类的想法.要做就 ...

  4. java HttpClient操作工具类

    maven: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId> ...

  5. HttpClient工具类v1.7

    package com.cucpay.fundswap.util; import java.io.IOException; import java.net.SocketTimeoutException ...

  6. Android 6.0删除Apache HttpClient相关类的解决方法

    相应的官方文档如下: 上面文档的大致意思是,在Android 6.0(API 23)中,Google已经移除了Apache HttpClient相关的类,推荐使用HttpUrlConnection. ...

  7. 使用单例模式实现自己的HttpClient工具类

    引子 在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient 来方便我们使用各种Http服务.你可以把HttpCli ...

  8. HttpClient工具类

    HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议. ...

  9. Android开发实现HttpClient工具类

    在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.你可以把HttpClient想 ...

  10. httpclient工具类,post请求发送json字符串参数,中文乱码处理

    在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码的.可是在使用httpclient发送post请求报文含中文 ...

随机推荐

  1. Python 类型检查与类型注解:mypy 与 typing 深度解析

    Python 类型检查与类型注解:mypy 与 typing 深度解析 在 Python 动态类型语言中,mypy 和 typing 是两个提升代码健壮性的核心工具.它们通过静态类型检查与类型注解,帮 ...

  2. 使用Python可视化莫比乌斯带

    引言 莫比乌斯带,这个名字或许大家都听过,但你知道它是什么吗?它是一种非常神奇的几何物体,只有一个面和一个边,乍一看,似乎是个不可思议的存在.今天,我们就来用 Python 轻松地可视化莫比乌斯带,一 ...

  3. 20241106,LeetCode 每日一题,用 Go 实现整数回文数判断

    题目 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.* 例如,121 是回文,而 123 不 ...

  4. 快速开始 Mybatis TypeHandler

    theme: orange MyBatis TypeHandler是MyBatis框架中的举足轻重的组件之一,用于处理Java对象和数据库中的数据类型之间的转换. MyBatis TypeHandle ...

  5. php 微信小程序转义403

    function code 微信 iv 偶现 encryptedData 41003 encodeURIComponent 关于小程序微信授权登录提示41003 文章简介 原因一(iv和encrypt ...

  6. 腾讯云短信发送【java】

    先去官网申请secretId, secretKey,然后创建对应的模板 maven引入包 <dependency> <groupId>com.tencentcloudapi&l ...

  7. EF ——left join

    如何在EF中实现left join(左联接)查询_ var TestList = from p in context.PersonalInformation join d in context.Dep ...

  8. 使用DbUtils和dbcp连接池写的通用的CRUD工具类

    目录 1 项目目录结构 2 工具类需要的jar包 2.1 Dbutils需要的jar包 2.2 dbcp需要的jar包 2.3 数据库jar包 3 代码部分 3.1 dbcp.properties 3 ...

  9. 【代码】JS|前端密码,浪漫至死不渝,祝我生日快乐

    今天是特别的日子,我想把这篇存稿发出来. 一次缺席,次次缺席,便不再期待重逢. 也是时候,解开最后一个设计过的谜题. 学加密的同时,我恰好写前端比较多,也有朋友找我测试他们前端页面上的加密方案的安全性 ...

  10. 【经验】VMware|Win11的Ubuntu虚拟机启动虚拟化,报错此平台不支持虚拟化的 Intel VT-x/EPT(方案汇总+自己的解决方案)

    2024/04/24说明:这篇暂时修改为粉丝可见,因为正在冲粉丝量,等到我弄完了粉丝量的要求,我就改回来!不方便看到全文的小伙伴不好意思!! 我开虚拟化是为了在虚拟机中运行VirtualBox,如果不 ...