現在讓我們看看請求API之間的區別。
第壹,原創。net framework請求方法:
復制代碼
公共靜態T HttpPostWithDecompression & ltT & gt(字符串請求,字符串url,int超時)其中T : new()
{
var pression =解壓縮方法。Deflate |解壓縮方法。GZip
變量字節=編碼。UTF8.GetBytes(請求);
Stream requestStream = null
var responseContent = string。空的;
嘗試
{
requestStream = pression & ltT & gt(字符串請求,字符串url,int超時)其中T : new()
{
var pression =解壓縮方法。Deflate |解壓縮方法。GZip
變量數據=編碼。UTF8.GetBytes(請求);
使用(var request stream = await pression = decompression methods。GZip
};
使用(var pression & ltT & gt(字符串請求,字符串apiUrl,int超時)其中T : new()
{
HttpClientHandler handler = new HttpClientHandler();
處理程序。Proxy = null
處理程序。AutomaticDecompression =解壓縮方法。GZip |解壓縮方法。放氣;
變量數據=編碼。UTF8.GetBytes(請求);
使用(var http client = new http client(handler))
{
httpClient。BaseAddress =新Uri(API URL);
httpClient。DefaultRequestHeaders . accept . add(new MediaTypeWithQualityHeaderValue(" application/JSON "));
var cont = new StringContent(請求);
//var content = new formurlencoded content(JSON convert。反序列化對象& lt字典& ltstring,string & gt& gt(請求));
//上面註釋掉的代碼,這種懶的轉Dic的方式是苦的,不能這麽用!!!
var response = await httpClient。PostAsync(apiUrl,cont);
字符串結果=響應。Content.ReadAsStringAsync()。結果;
返回JsonConvert。反序列化對象& ltT & gt(結果);
}
}