首页 > 解决方案 > 没有 FormUrlEncodedContent 的 HttpClient Post

问题描述

我正在使用 HTTPClient 发出一个 post 请求,下面是简单的代码。

private static readonly HttpClient client = new HttpClient();     
var values = new Dictionary<string, string>{
                { "x", "value" }};
var content  = new FormUrlEncodedContent(values);
var response = await client.PostAsync(someUrl, content);

如果我不想使用 FormUrlEncodedContent,那么发布数据的其他替代方法是什么?即我不想对我的帖子正文进行 url 编码。

标签: posthttpclienturlencode

解决方案


Say you have data in your model format.. E.g., UserData then you could try:

UserData ud = new UserData(){
// your user's data here
};

var content = new ObjectContent<UserData>(ud , new JsonMediaTypeFormatter());

var response = await client.PostAsync(url, content);

Would this work?


推荐阅读