欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# HttpClient四種常用請求數(shù)據(jù)格式

admin
2025年2月15日 0:44 本文熱度 483

C#使用HttpClient四種請求數(shù)據(jù)格式:json、表單數(shù)據(jù)、文件上傳、xml。現(xiàn)在流行前后端分離,后端提供對應(yīng)服務(wù)接口給前端或跨應(yīng)用程序調(diào)用,如WebAPI等。在調(diào)用這些服務(wù)接口發(fā)送HTTP請求,而.NET為我們提供了HttpWebRequest、HttpClient幾個(gè)類庫來實(shí)現(xiàn)。

一、JSON數(shù)據(jù)格式

application/json

引用

using Newtonsoft.Json;using System;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;namespace Fountain.WinConsole.HttpDemo

代碼

static async Task Main(string[] args){	try	{		using (HttpClient httpClient = new HttpClient())		{			User user = new User();			user.username = "ceshi";			user.password = "123456";			string jsonData = JsonConvert.SerializeObject(user);			// 發(fā)送請求數(shù)據(jù)包			StringContent content = new StringContent(jsonData, Encoding.UTF8);			// 設(shè)置HTTP 響應(yīng)上的ContentType --application/json			content.Headers.ContentType = new MediaTypeHeaderValue("application/json");			// 請求訪問地址			string url = "https://192.168.20.20/api/user/login";			// 發(fā)出HTTP的Post請求			HttpResponseMessage response = await httpClient.PostAsync(url, content);			// 讀取返回結(jié)果			string responseContent = await response.Content.ReadAsStringAsync();			// 將字符轉(zhuǎn)對象			Result result = JsonConvert.DeserializeObject<Result>(responseContent);		}	}	catch (Exception exception)	{		Console.WriteLine(exception.Message);	}	Console.ReadLine();}

二、表單數(shù)據(jù)格式

application/x-www-form-urlencoded

引用

using Newtonsoft.Json;using Newtonsoft.Json.Linq;using System;using System.Collections;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;

代碼

static async Task Main(string[] args){	try	{		using (HttpClient httpClient = new HttpClient())		{			Dictionary<string,string> user = new Dictionary<stringstring>			{"username""ceshi" },"password""123456" }			};			// 發(fā)送請求數(shù)據(jù)包			FormUrlEncodedContent content = new FormUrlEncodedContent(user);			// 請求訪問地址			string url = "https://192.168.20.20/api/user/login";			// 發(fā)出HTTP的Post請求			HttpResponseMessage response = await httpClient.PostAsync(url, content);			// 讀取返回結(jié)果			string responseContent = await response.Content.ReadAsStringAsync();			// 將字符轉(zhuǎn)對象			Result result = JsonConvert.DeserializeObject<Result>(responseContent);		}	}	catch (Exception exception)	{		Console.WriteLine(exception.Message);	}	Console.ReadLine();}

三、文件上傳格式

multipart/form-data

引用

using Newtonsoft.Json;using Newtonsoft.Json.Linq;using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;

代碼

static async Task Main(string[] args){	try	{		using (HttpClient httpClient = new HttpClient())		{			MultipartFormDataContent multipartContent = new MultipartFormDataContent();			multipartContent.Add(new StringContent("user"), "test");			multipartContent.Add(new ByteArrayContent(File.ReadAllBytes(string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "test.jpg"))), "image", "test.jpg");			// 請求訪問地址			string url = "https://192.168.20.20/api/user/upload";			// 發(fā)出HTTP的Post請求			HttpResponseMessage response = await httpClient.PostAsync(url, multipartContent);			// 讀取返回結(jié)果			string responseContent = await response.Content.ReadAsStringAsync();			// 將字符轉(zhuǎn)對象			Result result = JsonConvert.DeserializeObject<Result>(responseContent);		}	}	catch (Exception exception)	{		Console.WriteLine(exception.Message);	}	Console.ReadLine();}}

四、XML數(shù)據(jù)格式

text/xml 

引用

using Newtonsoft.Json;using Newtonsoft.Json.Linq;using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;

代碼

static async Task Main(string[] args){	try	{		using (HttpClient httpClient = new HttpClient())		{			StringBuilder user = new StringBuilder();			user.AppendLine("<usrname>ceshi</usrname>");			user.AppendLine("<password>123456</password>");			string xmlData = user.ToString();			// 發(fā)送請求數(shù)據(jù)包			StringContent content = new StringContent(xmlData, Encoding.UTF8);			// 設(shè)置HTTP 響應(yīng)上的ContentType --text/xml			content.Headers.ContentType = new MediaTypeHeaderValue("text/xml");			// 請求訪問地址			string url = "https://192.168.20.20/api/user/login";			// 發(fā)出HTTP的Post請求			HttpResponseMessage response = await httpClient.PostAsync(url, content);			// 讀取返回結(jié)果			string responseContent = await response.Content.ReadAsStringAsync();			// 將字符轉(zhuǎn)對象			Result result = JsonConvert.DeserializeObject<Result>(responseContent);		}	}	catch (Exception exception)	{		Console.WriteLine(exception.Message);	}	Console.ReadLine();}

HttpClient的一些屬性與方法。

屬性:

BaseAddress

獲取或設(shè)置發(fā)送請求時(shí)地址。

DefaultProxy

獲取或設(shè)置全局HTTP請求代理。

DefaultRequestHeaders

獲取請求發(fā)送的標(biāo)題。

DefaultRequestVersion

獲取或設(shè)置請求使用的默認(rèn)HTTP版本。

MaxResponseContentBufferSize

獲取或設(shè)置讀取響應(yīng)內(nèi)容時(shí)要緩沖的最大字節(jié)數(shù)。

Timeout

獲取或設(shè)置請求超時(shí)等待的時(shí)間。

方法:

GetAsync

異步請求獲取指定URI。

GetByteArrayAsync

異步請求獲取指定URI并以字節(jié)數(shù)組的形式返回響應(yīng)。

GetStreamAsync

異步請求獲取指定URI并以流的形式返回響應(yīng)。

GetStringAsync

異步請求獲取指定URI并以字符串的形式返回響應(yīng)正文。

PostAsync

異步將POST請求發(fā)送給指定URI。

Send

發(fā)送帶有指定請求的 HTTP 請求。

SendAsync

以異步操作發(fā)送 HTTP 請求。


閱讀原文:原文鏈接


該文章在 2025/2/17 12:23:54 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved