gpt4 book ai didi

c# - 使用 Flurl 发布 JSON

转载 作者:行者123 更新时间:2023-11-30 22:57:16 25 4
gpt4 key购买 nike

我从 Flurl 开始,我想创建一个 POST,但我认为我的 JSON 参数格式有问题。

可以看到JSON参数:

{
"aaaUser" : {
"attributes" : {
"name" : "device:domain\\login",
"pwd" : "123456"
}
}
}

这些设置适用于 Postman,现在我想使用 Flurl 继续我的小 POST :) 但是我的 JSON 格式不正确。

using System.Threading.Tasks;
using Flurl.Http;

namespace Script
{
class Program
{
static async Task Main(string[] args)
{
var result = await "https://IP/api/aaaLogin.json".PostUrlEncodedAsync(new
{
name = "device:domain\\login",
pwd = "123456"
});
}
}
}

感谢您的帮助!

最佳答案

我认为这里发现了 2 个问题。

  1. 您正在使用 PostUrlEncodedAsync ,它将以 URL 编码格式发送数据,如下所示: name=device:domain\\login&pwd=123456 。如果您希望将数据序列化为 JSON,请改用 PostJsonAsync

  2. 您只包含 JSON 的嵌套 attributes 对象,而不是整个对象。

简而言之,您将需要这样的东西:

var result = await "https://IP/api/aaaLogin.json".PostJsonAsync(new
{
aaaUser = new
{
attributes = new
{
name = "device:domain\\login",
pwd = "123456"
}
}
});

一旦您了解了这一点,您将需要知道如何处理结果。如果响应是 JSON 格式的,您可能希望将 .ReceiveJson().ReceiveJson<T>() 附加到上述调用,以便使用更友好的对象。请引用 documentation

关于c# - 使用 Flurl 发布 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53778304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com