在C#中,可以使用HttpClient類來發送HTTP請求并提交JSON數據。下面是一個示例代碼:
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace HttpClientExample
{
class Program
{
static async Task Main(string[] args)
{
// 創建一個HttpClient實例
using (HttpClient client = new HttpClient())
{
// 設置請求的內容類型為application/json
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
// 構造要發送的JSON數據
var json = "{\"name\":\"John\", \"age\":30}";
// 構造HTTP請求內容
var content = new StringContent(json, Encoding.UTF8, "application/json");
// 發送POST請求
var response = await client.PostAsync("http://example.com/api/endpoint", content);
// 獲取響應內容
var responseString = await response.Content.ReadAsStringAsync();
// 輸出響應內容
Console.WriteLine(responseString);
}
}
}
}
上面的代碼使用HttpClient類來發送一個POST請求,請求的內容是一個JSON字符串。首先,我們使用HttpClient.DefaultRequestHeaders屬性設置請求的內容類型為application/json。接下來,我們構造一個StringContent對象來包裝要發送的JSON數據,并指定內容類型為application/json。然后,使用HttpClient.PostAsync方法發送POST請求,并傳遞請求URL和請求內容。最后,可以使用HttpResponseMessage.Content屬性獲取響應內容,并使用ReadAsStringAsync方法將其作為字符串讀取出來。