在flurl中使用表单url编码请求中的c#字符

时间:2017-02-06 12:38:07

标签: c# flurl

有没有人知道如何使用flurl以url编码的形式发送带括号的字段?

示例:我想使用" foo"发送foo [bar]字段像这样的价值

var response = await "https://server/request"
    .WithHeader("Header1", "headerValue")
    .PostUrlEncodedAsync(new
    {
         foo[bar] = "foo"
    })

1 个答案:

答案 0 :(得分:1)

C#标识符中不允许使用括号,因此使用匿名对象来表示名称/值对不会在这里工作。但是,在Flurl将对象解析为名称/值对的所有情况下,它都会对字典进行特殊处理。所以你可以这样做:

var response = await "https://server/request"
    .WithHeader("Header1", "headerValue")
    .PostUrlEncodedAsync(new Dictionary<string, string>()
    {
        { "foo[bar]", "foo" }
    });