ToB企服应用市场:ToB评测及商务社交产业平台

标题: C#实现HTTP访问类HttpHelper [打印本页]

作者: 八卦阵    时间: 2022-9-17 08:27
标题: C#实现HTTP访问类HttpHelper
在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是Web API,这时候我们就需要使用HttpHelper调用远程接口了。示例中的HttpHelper类使用Log4Net记录了每次调用的请求内容和响应内容的日志,并且每条日志都带上了链路ID和标识,这样方便我们在排查问题时能快速的找到当时的请求和响应内容,进而定位分析问题。大家在使用的时候如不需要记录日志,删除掉即可。
HttpHelper类代码如下:
[code]    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




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4