Class HttpHelpers
Namespace: Tool.Utils
Assembly: Tool.Net.dll
提供部分的API请求访问类 (内置调用接口 替换为 HttpClient) 注意此类下所有函数调用皆无异常抛出,但为了方便问题排查,增加异常相关日志
public class HttpHelpersInheritance
Inherited Members
object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
Extension Methods
ObjectExtension.Add<T>(object, object, object), ObjectExtension.CopyEntity(object, object, params string[]), ObjectExtension.EntityToJson(object), ObjectExtension.EntityToJson(object, bool), ObjectExtension.EntityToJson(object, bool, string), DictionaryExtension.GetDictionary(object), TypeExtension.GetFieldKey(object, string, out bool), TypeExtension.GetFieldKey<T>(object, string, out bool), TypeExtension.GetFieldKey(object, Type, string, out bool), ObjectExtension.GetIntPtr(object), ObjectExtension.GetIntPtrInt(object), TypeExtension.GetPropertieFind(object, string, bool), TypeExtension.GetProperties(object), TypeExtension.GetPropertyKey(object, string, out bool), TypeExtension.GetPropertyKey<T>(object, string, out bool), TypeExtension.GetPropertyKey(object, Type, string, out bool), TypeExtension.GetValue(object, PropertyDescriptor), TypeExtension.GetValue(object, string, bool), TypeExtension.GetValue(object, string), ObjectExtension.Read<T>(object, object, int, int), ObjectExtension.Read<T>(object, int, object, int, int), DictionaryExtension.SetDictionary(object, IDictionary<string, object>), TypeExtension.SetFieldKey(object, string, object), TypeExtension.SetFieldKey<T>(object, string, object), TypeExtension.SetFieldKey(object, Type, string, object), TypeExtension.SetPropertyKey(object, string, object), TypeExtension.SetPropertyKey<T>(object, string, object), TypeExtension.SetPropertyKey(object, Type, string, object), TypeExtension.SetValue(object, PropertyDescriptor, object), TypeExtension.SetValue(object, string, object, bool), TypeExtension.SetValue(object, string, object), ObjectExtension.ToBase64String(object), ObjectExtension.ToBytes(object), ObjectExtension.ToBytes(object, out Type), DictionaryExtension.ToDictionary(object), DictionaryExtension.ToDictionary<T>(object), DictionaryExtension.ToIDictionary(object), DictionaryExtension.ToIDictionary<T>(object), ObjectExtension.ToJson(object), ObjectExtension.ToJson(object, JsonSerializerOptions), ObjectExtension.ToJsonWeb(object), ObjectExtension.ToJsonWeb(object, Action<JsonSerializerOptions>), ObjectExtension.ToTryVar<T>(object, T), ObjectExtension.ToVar<T>(object), ObjectExtension.ToVar(object, Type, bool), ObjectExtension.ToVar(object, string), ObjectExtension.ToXml(object)
Remarks
代码由逆血提供支持
Fields
LogFilePath
相关请求异常日志输出位置
public const string LogFilePath = "Log/HttpHelpers/"Field Value
Properties
DefaultEncoding
默认编码格式
public static Encoding DefaultEncoding { get; set; }Property Value
Timeout
等待毫秒
public static double Timeout { get; set; }Property Value
Exceptions
指定的超时值小于或等于零,并且不是系统超时值。穿线。超时。无穷大跨度。
已在当前实例上启动操作。
当前实例已被释放。
Methods
CreateHttpRequestMessage(HttpMethod, string)
获取可用的连接
public static HttpRequestMessage CreateHttpRequestMessage(HttpMethod method, string url)Parameters
method HttpMethod
url string
Returns
~HttpHelpers()
自动回收
protected ~HttpHelpers()FormatData(string)
高效解析http表单类文本
public static IDictionary<string, string> FormatData(string query)Parameters
query string
待解析的http表单值
Returns
Get(string, Action<HttpRequestHeaders>)
GET 方式获取响应流
public static Stream Get(string url, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
onheaders Action<HttpRequestHeaders>
Returns
GetAsync(string, Action<HttpRequestHeaders>)
GET 方式获取响应流(异步获取)
public static Task<Stream> GetAsync(string url, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
onheaders Action<HttpRequestHeaders>
Returns
GetJson<T>(string, Action<HttpRequestHeaders>)
GET 方式获取响应流 返回实体
public static T GetJson<T>(string url, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
onheaders Action<HttpRequestHeaders>
Returns
T
Type Parameters
T
GetJsonAsync<T>(string, Action<HttpRequestHeaders>)
GET 方式获取响应流 返回实体 (异步获取)
public static Task<T> GetJsonAsync<T>(string url, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
onheaders Action<HttpRequestHeaders>
Returns
Task<T>
Type Parameters
T
GetString(string, Action<HttpRequestHeaders>)
GET 方式获取响应流 返回字符串
public static string GetString(string url, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
onheaders Action<HttpRequestHeaders>
Returns
GetStringAsync(string, Action<HttpRequestHeaders>)
GET 方式获取响应流 返回字符串 (异步获取)
public static Task<string> GetStringAsync(string url, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
onheaders Action<HttpRequestHeaders>
Returns
HeadHttpCode(string, Action<HttpRequestHeaders>)
HEAD 方式获取响应的状态
public static HttpStatusCode HeadHttpCode(string url, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
onheaders Action<HttpRequestHeaders>
Returns
Post(string, IEnumerable<KeyValuePair<string, string>>, Action<HttpRequestHeaders>)
POST 方式获取响应流
public static Stream Post(string url, IEnumerable<KeyValuePair<string, string>> data, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IEnumerable<KeyValuePair<string, string>>
onheaders Action<HttpRequestHeaders>
Returns
Post(string, IDictionary<string, string>, Action<HttpRequestHeaders>)
POST 方式获取响应流
public static Stream Post(string url, IDictionary<string, string> data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IDictionary<string, string>
onheaders Action<HttpRequestHeaders>
Returns
PostAsync(string, IEnumerable<KeyValuePair<string, string>>, Action<HttpRequestHeaders>)
POST 方式获取响应流(异步获取)
public static Task<Stream> PostAsync(string url, IEnumerable<KeyValuePair<string, string>> data, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IEnumerable<KeyValuePair<string, string>>
onheaders Action<HttpRequestHeaders>
Returns
PostAsync(string, IDictionary<string, string>, Action<HttpRequestHeaders>)
POST 方式获取响应流(异步获取)
public static Task<Stream> PostAsync(string url, IDictionary<string, string> data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IDictionary<string, string>
onheaders Action<HttpRequestHeaders>
Returns
PostJson<T>(string, string, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回实体
public static T PostJson<T>(string url, string data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data string
onheaders Action<HttpRequestHeaders>
Returns
T
Type Parameters
T
PostJson<T>(string, IDictionary<string, string>, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回实体
public static T PostJson<T>(string url, IDictionary<string, string> data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IDictionary<string, string>
onheaders Action<HttpRequestHeaders>
Returns
T
Type Parameters
T
PostJsonAsync<T>(string, string, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回实体 (异步获取)
public static Task<T> PostJsonAsync<T>(string url, string data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data string
onheaders Action<HttpRequestHeaders>
Returns
Task<T>
Type Parameters
T
PostJsonAsync<T>(string, IDictionary<string, string>, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回实体 (异步获取)
public static Task<T> PostJsonAsync<T>(string url, IDictionary<string, string> data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IDictionary<string, string>
onheaders Action<HttpRequestHeaders>
Returns
Task<T>
Type Parameters
T
PostString(string, string, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回字符串
public static string PostString(string url, string data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data string
字符串拼接的数据
onheaders Action<HttpRequestHeaders>
Returns
PostString(string, IDictionary<string, string>, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回字符串
public static string PostString(string url, IDictionary<string, string> data, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IDictionary<string, string>
onheaders Action<HttpRequestHeaders>
Returns
PostStringAsync(string, string, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回字符串 (异步获取)
public static Task<string> PostStringAsync(string url, string data = null, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data string
onheaders Action<HttpRequestHeaders>
Returns
PostStringAsync(string, IDictionary<string, string>, Action<HttpRequestHeaders>)
POST 方式获取响应流 返回字符串 (异步获取)
public static Task<string> PostStringAsync(string url, IDictionary<string, string> data, Action<HttpRequestHeaders> onheaders = null)Parameters
url string
data IDictionary<string, string>
onheaders Action<HttpRequestHeaders>
Returns
QueryString(IDictionary<string, string>)
根据字典高效组装成以转义的字符串
public static string QueryString(IDictionary<string, string> data)Parameters
data IDictionary<string, string>
字典对象
Returns
Send(HttpRequestMessage)
获取请求结果
public static HttpResponseMessage Send(HttpRequestMessage requestMessage)Parameters
requestMessage HttpRequestMessage
请求信息
Returns
SendAsync(HttpRequestMessage)
异步获取请求结果
public static Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage)Parameters
requestMessage HttpRequestMessage
请求信息