C#实现HTTP访问类HttpHelper

打印 上一主题 下一主题

主题 517|帖子 517|积分 1551

在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是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
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

八卦阵

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表