c# http post json token
时间: 2024-10-11 21:17:10 浏览: 14
在C#中,如果你想通过HTTP POST请求发送JSON数据,并附带身份验证令牌(通常称为JWT,Json Web Token),你可以使用HttpClient类配合 Newtonsoft.Json 库。以下是一个简单的示例:
```csharp
using System;
using System.Net.Http;
using Newtonsoft.Json;
public class RequestInfo
{
public string Token { get; set; }
public dynamic Data { get; set; } // 使用dynamic是因为Data可以包含各种类型的JSON属性
}
// 创建一个实例并设置token和json数据
RequestInfo request = new RequestInfo();
request.Token = "your_jwt_token";
request.Data = new { key1 = "value1", key2 = "value2" };
// 创建HttpClient实例
HttpClient client = new HttpClient();
// 设置Content-Type为application/json
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
string jsonContent = JsonConvert.SerializeObject(request); // 将RequestInfo转换为JSON字符串
// 发送POST请求
HttpResponseMessage response = await client.PostAsync(
"http://api.example.com/endpoint", // 替换为你实际的API地址
new StringContent(jsonContent, Encoding.UTF8, "application/json")
);
// 检查响应状态码和处理结果
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Response: {responseBody}");
}
else
{
Console.WriteLine($"Error: {response.StatusCode} - {await response.ReasonPhraseAsync()}");
}
阅读全文