c# - HttpClient Post请求未在C#中发送post参数
问题描述
我正在我的控制台应用程序中发送一个发布请求,但它似乎无法发送发布参数。这是我的代码
{
string pass_url = "https://staging.fooddesk.be/api/v1/add_new_partner_pws";
string postString = "[{\n\"product_name\": \"kip absrert\",\n\"producer_name\": \"Imperial Meat Products\",\n\"producer_art_num\": \"123\",\n\"supplier_name\": \"Vagro\",\n\"supplier_art_num\": \"12345\",\n\"ean_code\": \"5411153011327\",\n\"partner_art_nbr\": \"12345\"\n}]\"";
var multipartContent = new MultipartFormDataContent();
multipartContent.Add(new StringContent("pws_data" ) , postString) ;
Uri requestUri = new Uri(pass_url);
using (var objClint = new System.Net.Http.HttpClient())
{
objClint.DefaultRequestHeaders.Add("X-API-KEY", "ABCD");
objClint.DefaultRequestHeaders.Add("X-COMP-KEY", "XYZ");
System.Net.Http.HttpResponseMessage response = objClint.PostAsync(requestUri, multipartContent).Result;
Console.WriteLine(response);
if (response.IsSuccessStatusCode)
{
string json = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(json);
}
}
}
我在第 4 行遇到异常。请告诉我应该如何在 http 客户端发布请求中发送发布数据。提前致谢。
解决方案
我相信你在第 4 行混淆了你的论点。
查看文档以了解用法。
尝试
multipartContent.Add(new StringContent(postString) , "pws_data") ;
此外,帖子字符串在 ] 之后的末尾有一个额外的引号。删除它应该会有所帮助。
[{“product_name”:“kip absrert”,“producer_name”:“Imperial Meat Products”,“producer_art_num”:“123”,“supplier_name”:“Vagro”,“supplier_art_num”:“12345”,“ean_code”:“ 5411153011327", "partner_art_nbr": "12345" }]"
推荐阅读
- reactjs - 无法将我的 AWS api 网关与我的本地主机连接
- c - 确定块矩阵乘法的最佳块大小
- python-3.x - 错误:在使用 cdb 文件时,解包需要 8 个字节的缓冲区
- event-tracking - 如何跟踪我在 Facebook 上分享的网站上的文章?
- reactjs - 笑话:在 useEffect 中测试 React 状态变化
- next.js - getStaticPath 和 URL 中需要的 filetype
- javascript - 将 Apexcharts 导出到 XLS 文件
- java - 任何长于 Long 的整数的数据类型?
- c# - 更新 Webform App 上特定列的行
- flutter - 在 Flutter 中添加和删除函数的问题