在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是Web API,这时候我们就需要使用HttpHelper调用远程接口了。示例中的HttpHelper类使用Log4Net记录了每次调用的请求内容和响应内容的日志,并且每条日志都带上了链路ID和标识,这样方便我们在排查问题时能快速的找到当时的请求和响应内容,进而定位分析问题。大家在使用的时候如不需要记录日志,删除掉即可。
HttpHelper类代码如下:
public class HttpHelper : IDisposable
{
private bool _disposable = false;
///
/// 请求编码格式默认utf-8;
///
public Encoding HtmlEncoding = Encoding.UTF8;
///
/// 请求时间
///
public int Timeout = 5000;
public CookieContainer Cookies = null;
///
/// 是否记录Cookies
///
public bool IsRecordCookie = false;
public string ContentType = "application/x-www-form-urlencoded";
public string AcceptLanguage = "en-US, en; q=0.8, zh-Hans-CN; q=0.5, zh-Hans; q=0.3";
public string KeepAlive = "Keep-Alive";
public string Accept = "*/*";
private const string UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240";
private static ILogger Logger = Log4NetLoggerFactory.Instance.Create("remote.info");
public HttpHelper()
{
//允许最大连接数,突破Http协议的并发连接数限制
ServicePointManager.DefaultConnectionLimit = 512;
}
///
/// 上传图片
///
///
///
///
///
public HttpRequestEntity RequestFile(string url, byte[] bArr, string fileName = "")
{
var result = new HttpRequestEntity { IsSuccess = 0 };
//后续需要再放开,启用时需增加日志收集
//if (string.IsNullOrEmpty(url))
// throw new ArgumentNullException("请求Url不能为空值");
//if (bArr == null || bArr.Length
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?