如何使用 C# 在 POST 请求中发送 json 请求正文数据
Posted
技术标签:
【中文标题】如何使用 C# 在 POST 请求中发送 json 请求正文数据【英文标题】:How to send json request body data in POST request using C# 【发布时间】:2021-03-04 10:20:56 【问题描述】:我是 C# 新手。 我想使用 C# 在 POST 请求中发送 JSON 请求正文。
我想从 Rest URL 获取结果,但它显示状态代码 500。
如何格式化请求正文,以便能够从其余 URL 获取结果?
我的 JSON 请求正文 -->
"filter":"labtestName":["labtestName":"Ada"]
我尝试过的代码
string data1 = "\filter\":\"labtestName\":[\"labtestName\":\"Ada\"]";
var RestURL = "https://nort.co.net/v1api/LabTest/Hurlabtest";
HttpClient client = new HttpClient();
string jsonData = JsonConvert.SerializeObject(data1);
client.BaseAddress = new Uri(RestURL);
StringContent content1 = new StringContent(jsonData, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("apptoken", "72f303a7-f1f0-45a0-ad2b-e6db29328b1a");
client.DefaultRequestHeaders.Add("usertoken", "cZJqFMitFdVz5MOvRLT7baVTJa+yZffc5eVoU91OqkMYl6//cQmgIVkHOyRZ7rWTXi66WV4tMEuj+0oHIyPS6hBvPUY5/RJ7oWnTr4LuzlKU1H7Cp68za57O9AatAJJHiVPowlXwoPUohqe8Ad2u0A==");
HttpResponseMessage response = await client.PostAsync(RestURL, content1);
var result = await response.Content.ReadAsStringAsync();
var responseData = JsonConvert.DeserializeObject<LabtestResponseData>(result);
【问题讨论】:
500 表示内部服务器错误。这意味着服务器端有问题。 先生,这是请求正文的问题,我无法发送正确格式的请求正文 这有帮助吗? ***.com/questions/46044206/… 是的,它对我有帮助 【参考方案1】:您向方法发送了错误的数据,
我已经更正了,你可以参考下面的代码。
myData
字符串已经是 JSON 字符串,无需再次序列化。
string myData = "\"filter\": \"labtestName\": [\"labtestName\": \"Ada\"]";
//string data1 = "\filter\": \"labtestName\": [\"labtestName\": \"Ada\"]";
var RestURL = "https://tcdevapi.iworktech.net/v1api/LabTest/HSCLabTests";
HttpClient client = new HttpClient();
//string jsonData = JsonConvert.SerializeObject(myData);
client.BaseAddress = new Uri(RestURL);
StringContent content1 = new StringContent(myData, Encoding.UTF8, "application/json");
【讨论】:
@Sunny 你为什么不接受这个答案?它对你有用,我为你投入了时间,有礼貌 对不起先生。它发生错误,我很感谢你的时间。以上是关于如何使用 C# 在 POST 请求中发送 json 请求正文数据的主要内容,如果未能解决你的问题,请参考以下文章
使用 HttpClient 和 C# 在 post 请求中发送 json
C# HttpClient:如何在 POST 请求中发送查询字符串
使用 C# 和 HttpWebRequest 向端点发送 POST 请求