最近工作比较忙, 很久没有写东西了, 今天抽点时间整体一下最近工作的一个知识点小结. http 请求对我们来说一点都不模式, 程序员的我们有可能天天就是和这一些打交道. 无论是 BS 架构的程序, 前后端的数据交互, 已经后台服务之间的数据交互, http 还是主流.
最近接触的一个新项目, 其项目是一个祖传项目, 经历很多波小伙伴的手, 代码风格也各不相同, 重复性的代码一大波一大波的堆砌. 在接手熟悉整理过程的, 开始对一些公用方法进行封装打包, 现在我就分享其中一个间的模块, 那么就是对接口间的 http 请求处理封装.
当然了, 其实 http 请求对绝大部分小伙伴来说都是家常便饭的熟悉, 但是我今天还是要写出来, 其目的是为了做一次知识总结和分享, 也为了一个项目的统一, 避免重复的造不同的轮子. 在文中如有有说的不好的, 或者错误的地方, 希望你能够指点指点, 谢谢!
言归正传, 回到主题上来哈. 至于 http 请的详细介绍, 我就不在此啰嗦了, 也免得占用大家时间. 在实际使用过中, get 和 post 是两种最常见不过的方式, 下面也主要围绕这两个方式介绍. 本文中主要是针对 HttpWebRequest 的封装进行分享.
一, 聊聊 Content-Type 几种常见类
在聊 http 请求操作, 首先需要了解的就是 content-type(内容类型) 关键, 简单的说就是文档数据交互方法, 其常见的主要有如下 3 种.
A:application/x-www-form-urlencoded
最常见的提交数据的方式, 也是默认数据提交方式, 其数据传递最终会转换为键值对的方式传递, key1=val1&key2=val2
B:multipart/form-data
表单方式提交, 也是比较常见的提交方式.
C,application/JSON
该方式越来越流行, 已 JSON 方式交互, 很多开发接口数据交互都是 JSON 方式.
二, 聊聊 PAI 的常见参数接收方式
其实我们在说 http 请求, API 是离不开的话题, 这也是本次分享的主要原因. 尤其是现在都在提倡微服务, 服务间的自调用就在所难免. 那么下面我将简单总结一下常见的 PAI 数据接收方式:
按照有无参数分类, 分了两大类, 有参接口, 无参接口.
其中, 无参接口最为简单, 没有什么好说的. 下面主要说一下有参接口数据接收方式.
FromQuery: 这一种比较简单的实现方式, 也就是我们常见的 url 地址上的键值对方式传递接受, 比如: url?key1=value1&key2=value2. 该方式适用于 get 和 post 两种方式
FromRoute: 路由参数, 简单的说就是参数就是 url 地址的一部分. 根据路由规则解析对应的参数. 比如: urls/value1/value2. 该方式适用于 get 和 post 两种方式
FromForm: 表单方式传递, 通过 from 表单方式接受参数, 直接提交一个 from 表单. 该方式使用与 post.
FromBody: 以 JSON 方式提交数据, 接受时以一个对应的实体模型接收. 该方式使用 post
嗯, 上面几种方式是我们常见的方式, 了解了这一些方式, 能解决掉 90% 的 http 请求. 其他的方式就不在此详聊.
三, Content-Type 与 PAI 常见参数接收方式对应关系
Content-Type | 参数接收方式 | 使用类型 |
application/x-www-form-urlencoded | FromQuery FromRoute | get、post |
multipart/form-data | FromForm | post |
application/json | FromBody | post |
四, http 请求返回接收方式
其实严格的意义来说法不正确, 其实接收方式都是一个字符串方式. 我说的方式, 是指在接收到请求结果后, 其自己对数据的处理方式, 也就两种方式, 其一, 请求结果字符串; 其二, 请求结果转换为对应的实体模型.
五, HttpWebRequest 封装
结合上面的几点分析, 下面主要针对这几种情况进行封装说明.
针对 FromQuery 参数: 在封装中, 通过字典方式交互
针对 FromRoute 参数: 在封装中, 通过 list 字符串集合交互
针对 FromForm 参数: 在封装中, 通过字典方式交互
针对 FromBody 参数: 在分装中, 通过数据模型方式交互
在每一种交互方式上, 根据编码方式, 过期时间, 返回类型, 又重载了几个方法
下面直接上代码:
get 方式封装部分代码:
- using Newtonsoft.JSON;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.NET;
- using System.Text;
- namespace XYH.Tools.HttpTool
- {
- /// <summary>
- /// http get 请求相关的操作帮助类
- /// </summary>
- public partial class HttpTool : HttpToolBase
- {
- #region 无参
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个泛型实体)
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGet<TReturn>(string url, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, defaultEncodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个字符串)
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGet(string url, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet(url, defaultEncodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGet<TReturn>(string url, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, encodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个字符串)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGet(string url, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet(url, encodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个泛型实体)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGet<TReturn>(string url, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, defaultEncodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个字符串)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGet(string url, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet(url, defaultEncodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个泛型实体)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGet<TReturn>(string url, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, encodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 不单独带有参数 (返回一个字符串)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 请求地址 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGet(string url, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForGet(url, encodType, timeout, headerKeyValue);
- }
- #endregion
- #region 参数字典 (键值对参数 path?kay1=value1&kay12=value2...)
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetDic(string url, Dictionary<string, string> parameters, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, defaultEncodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetDic<TReturn>(string url, Dictionary<string, string> parameters, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, defaultEncodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetDic(string url, Dictionary<string, string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, encodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetDic<TReturn>(string url, Dictionary<string, string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, encodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetDic(string url, Dictionary<string, string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, defaultEncodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetDic<TReturn>(string url, Dictionary<string, string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, defaultEncodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetDic(string url, Dictionary<string, string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, encodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetDic<TReturn>(string url, Dictionary<string, string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, encodType, timeout, headerKeyValue);
- }
- #endregion
- #region rout 路由参数
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetRout<TReturn>(string url, List<string> parameters, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, defaultEncodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetRout(string url, List<string> parameters, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, defaultEncodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetRout<TReturn>(string url, List<string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, encodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetRout(string url, List<string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, encodType, defaultTimeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetRout<TReturn>(string url, List<string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, defaultEncodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetRout(string url, List<string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, defaultEncodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpGetRout<TReturn>(string url, List<string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet<TReturn>(url, encodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpGetRout(string url, List<string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForGet(url, encodType, timeout, headerKeyValue);
- }
- #endregion
- /// <summary>
- /// 获取请求结果 (返回一个泛型实体)
- /// </summary>
- /// <param name="url">url</param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果返回值 </returns>
- private static TReturn GetResponseResultForGet<TReturn>(string url, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- return GetResponseResult<TReturn>(url, string.Empty, "get", string.Empty, encodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// 获取请求结果 (返回一个泛型实体)
- /// </summary>
- /// <param name="url">url</param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果返回值 </returns>
- private static string GetResponseResultForGet(string url, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- return GetResponseResult(url, string.Empty, "get", string.Empty, encodType, timeout, headerKeyValue);
- }
- }
- }
post 方式封装部分代码:
- using Newtonsoft.JSON;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.NET;
- using System.Text;
- namespace XYH.Tools.HttpTool
- {
- /// <summary>
- /// http 请求相关的操作帮助类
- /// </summary>
- public partial class HttpTool : HttpToolBase
- {
- #region 无参
- /// <summary>
- /// POST 请求, 无参 (返回一个泛型实体)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="requestData"> 请求参数 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static TReturn HttpPost<TReturn>(string url, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost<TReturn>(url, defaultEncodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// POST 请求, 无参 (返回一个字符串)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="requestData"> 请求参数 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static string HttpPost(string url, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost(url, defaultEncodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// POST 请求, 无参 (返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="encodType"> 编码方式, 默认为 utf-8</param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static TReturn HttpPost<TReturn>(string url, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost<TReturn>(url, encodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// POST 请求, 无参 (返回一个字符串)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="encodType"> 编码方式, 默认为 utf-8</param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static string HttpPost(string url, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost(url, encodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// POST 请求, 无参 (返回一个泛型实体)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static TReturn HttpPost<TReturn>(string url, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost<TReturn>(url, defaultEncodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// POST 请求, 无参 (返回一个字符串)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static string HttpPost(string url, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost(url, defaultEncodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// POST 请求, 无参 (返回一个泛型实体)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="encodType"> 编码方式, 默认为 utf-8</param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static TReturn HttpPost<TReturn>(string url, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost<TReturn>(url, encodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// POST 请求, 无参 (返回一个字符串)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="encodType"> 编码方式, 默认为 utf-8</param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果 </returns>
- public static string HttpPost(string url, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 获得接口返回值
- return GetResponseResultForPost(url, encodType, timeout, headerKeyValue: headerKeyValue);
- }
- #endregion
- #region 参数字典 (键值对参数 path?kay1=value1&kay12=value2...)
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="isAcceptForm"> 参数是否来自 Form, true: 代表来自 Form false: 来自 url 默认为 false</param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostDic(string url, Dictionary<string, string> parameters, bool isAcceptForm = false, List<MHeadParamet> headerKeyValue = null)
- {
- if (!isAcceptForm)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, defaultEncodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- else
- {
- return GetResponseResultForPost<Dictionary<string, string>>(url, defaultEncodType, defaultTimeout, parameters, headerKeyValue: headerKeyValue);
- }
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostDic<TReturn>(string url, Dictionary<string, string> parameters, bool isAcceptForm = false, List<MHeadParamet> headerKeyValue = null)
- {
- if (!isAcceptForm)
- {
- // 构建请求参数 multipart/form-data
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, defaultEncodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- else
- {
- return GetResponseResultForPost<TReturn>(url, defaultEncodType, defaultTimeout, GetRequestData(parameters), "application/x-www-form-urlencoded;charset=utf-8", headerKeyValue: headerKeyValue);
- }
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostDic(string url, Dictionary<string, string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, encodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 请求参数字典 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostDic<TReturn>(string url, Dictionary<string, string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, encodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostDic(string url, Dictionary<string, string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, defaultEncodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostDic<TReturn>(string url, Dictionary<string, string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, defaultEncodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个字符串)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostDic(string url, Dictionary<string, string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, encodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有请求参数字典 (键值对参数 path?kay1=value1&kay12=value2...)(返回一个泛型实体)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters"> 参数集合 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostDic<TReturn>(string url, Dictionary<string, string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, encodType, timeout, headerKeyValue: headerKeyValue);
- }
- #endregion
- #region rout 路由参数
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostRout<TReturn>(string url, List<string> parameters, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, defaultEncodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostRout(string url, List<string> parameters, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, defaultEncodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostRout<TReturn>(string url, List<string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, encodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostRout(string url, List<string> parameters, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, encodType, defaultTimeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostRout<TReturn>(string url, List<string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, defaultEncodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostRout(string url, List<string> parameters, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, defaultEncodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个泛型实体)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostRout<TReturn>(string url, List<string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost<TReturn>(url, encodType, timeout, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 并带有 list 集合请求参数 (rout 路由参数)(返回一个字符串)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="parameters">list 集合请求参数 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostRout(string url, List<string> parameters, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 构建请求参数
- url = GetRequestPath(url, parameters);
- // 发起请求
- return GetResponseResultForPost(url, encodType, timeout, headerKeyValue: headerKeyValue);
- }
- #endregion
- #region JSON 参数
- /// <summary>
- /// http 请求, 参数为实体对象 (返回一个泛型实体)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="inputParamet"> 请求参数模型 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostModel<TReturn, TInput>(string url, TInput inputParamet, bool isAcceptForm = false, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForPost<TReturn, TInput>(url, defaultEncodType, defaultTimeout, inputParamet, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 参数为实体对象 (返回一个字符串)
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="inputParamet"> 请求参数模型 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostModel<TInput>(string url, TInput inputParamet, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForPost<TInput>(url, defaultEncodType, defaultTimeout, inputParamet, headerKeyValue);
- }
- /// <summary>
- /// http 请求, 参数为实体对象 (返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="inputParamet"> 请求参数模型 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostModel<TReturn, TInput>(string url, TInput inputParamet, Encoding encodType, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForPost<TReturn, TInput>(url, encodType, defaultTimeout, inputParamet, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 参数为实体对象 (返回一个泛型实体)
- /// 自定义编码方式
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="inputParamet"> 请求参数模型 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static TReturn HttpPostModel<TReturn, TInput>(string url, TInput inputParamet, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForPost<TReturn, TInput>(url, encodType, timeout, inputParamet, headerKeyValue: headerKeyValue);
- }
- /// <summary>
- /// http 请求, 参数为实体对象 (返回一个泛型实体)
- /// 自定义编码方式
- /// 自定义超时时间 单位毫秒 默认为 1 分钟
- /// </summary>
- /// <param name="url"> 地址 </param>
- /// <param name="inputParamet"> 请求参数模型 </param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求处理结果 </returns>
- public static string HttpPostModel<TInput>(string url, TInput inputParamet, Encoding encodType, int timeout, List<MHeadParamet> headerKeyValue = null)
- {
- // 发起请求
- return GetResponseResultForPost<TInput>(url, encodType, timeout, inputParamet, headerKeyValue);
- }
- #endregion
- #region 帮助方法
- /// <summary>
- /// 获取请求结果 (返回一个泛型实体)
- /// </summary>
- /// <param name="url">url</param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="requestData"> 请求参数 </param>
- /// <param name="contentType"> 请求参数传递方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果返回值 </returns>
- private static T GetResponseResultForPost<T>(string url, Encoding encodType, int timeout, string requestData = "",
- string contentType = "", List<MHeadParamet> headerKeyValue = null)
- {
- return GetResponseResult<T>(url, requestData, "post", contentType, encodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// 获取请求结果 (返回一个字符串)
- /// </summary>
- /// <param name="url">url</param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="requestData"> 请求参数 </param>
- /// <param name="contentType"> 请求参数传递方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果返回值 </returns>
- private static string GetResponseResultForPost(string url, Encoding encodType, int timeout,
- string requestData = "", string contentType ="", List<MHeadParamet> headerKeyValue = null)
- {
- return GetResponseResult(url, requestData, "post", contentType, encodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// 获取请求结果 (返回一个泛型实体)
- /// </summary>
- /// <param name="url">url</param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="requestData"> 请求参数 </param>
- /// <param name="contentType"> 请求参数传递方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果返回值 </returns>
- private static TReturn GetResponseResultForPost<TReturn, TInput>(string url, Encoding encodType, int timeout, TInput inputParamet,
- bool isAcceptForm = false, List<MHeadParamet> headerKeyValue = null)
- {
- return GetResponseResult<TReturn>(url, JsonConvert.SerializeObject(inputParamet), "post", isAcceptForm ? "application/x-www-form-urlencoded;charset=utf-8" : "application/json", encodType, timeout, headerKeyValue);
- }
- /// <summary>
- /// 获取请求结果 (返回一个字符串)
- /// </summary>
- /// <param name="url">url</param>
- /// <param name="encodType"> 编码方式 </param>
- /// <param name="timeout"> 超时时间 </param>
- /// <param name="requestData"> 请求参数 </param>
- /// <param name="contentType"> 请求参数传递方式 </param>
- /// <param name="headerKeyValue"> 头部键值对参数 </param>
- /// <returns > 请求结果返回值 </returns>
- private static string GetResponseResultForPost<TInput>(string url, Encoding encodType, int timeout, TInput requestData,
- List<MHeadParamet> headerKeyValue = null)
- {
- return GetResponseResult(url, JsonConvert.SerializeObject(requestData), "post", "application/json", encodType, timeout, headerKeyValue);
- }
- #endregion
- }
- }
总结:
我已经将源码上传到 GitHub 上, 里面级包括封装组件源码, 测试接口, 测试调用
源码地址: https://github.com/xuyuanhong0902/XYH.Tools.HttpTool
同时, 我也将生产包上传至 NuGet 上, 有需要的可以直接使用: XYH.Tools.HttpTool
今天就写到这了, 明天还得早起上班码砖呢... 哈哈哈, 快过年了, 祝你新年快乐. 谢谢阅读!
END
为了更高的交流, 欢迎大家关注我的公众号, 扫描下面二维码即可关注, 谢谢:
posted on 2020-01-20 00:36 程序员修炼之旅 阅读 (...) 评论 (...) 编辑 收藏
来源: https://www.cnblogs.com/xiaoXuZhi/p/XYH_Tools_HttpTool.html