C#发送http post请求,参数为json字符串
时间: 2024-12-26 11:28:22 浏览: 8
在C#中,你可以使用HttpClient类来发送HTTP POST请求,并将JSON字符串作为内容。下面是一个简单的示例:
```csharp
using System;
using System.Net.Http;
using System.Text.Json;
public class Program
{
static async Task Main(string[] args)
{
string jsonContent = "{\"key\":\"value\",\"anotherKey\":42}"; // 这里是你要发送的JSON字符串
using HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.ContentType = MediaTypeHeaderValue.Parse("application/json");
var requestUri = "https://example.com/api/endpoint"; // 替换为你实际的API URL
try
{
HttpAssistantResponse response = await httpClient.PostAsync(requestUri, new StringContent(jsonContent, Encoding.UTF8, "application/json"));
response.EnsureSuccessStatusCode(); // 检查响应状态码是否成功
Console.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}");
}
catch (HttpRequestException ex)
{
Console.WriteLine($"Error occurred: {ex.Message}");
}
}
}
```
在这个例子中:
- `HttpClient`负责发起HTTP请求。
- `JsonSerializer.Serialize()`或`JsonConvert.SerializeObject()`可以先序列化你的JSON数据。
- `PostAsync`方法用于发送POST请求,将`jsonContent`和正确的`Content-Type`设置为`application/json`。
- `response.IsSuccessStatusCode`检查请求是否成功。
阅读全文