您当前的位置: 首页 >  http

Phil Arist

暂无认证

  • 8浏览

    0关注

    276博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用C#实现Http访问类HttpHelper

Phil Arist 发布时间:2022-09-07 10:20:49 ,浏览量:8

在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是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             
关注
打赏
1662360869
查看更多评论
0.0396s