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