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

Jos*_*e C 7 c# flurl

有谁知道如何使用 flurl 通过 url 编码形式发送带括号的字段?

示例:我想发送带有“foo”值的 foo[bar] 字段,如下所示

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

Tod*_*ier 7

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

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