4.6表单与 HttpContent

在多部分表单内容中添加 URL 编码表单内容。

添加 URL 编码表单内容#

在多部分表单内容中添加 URL 编码表单内容。

cs
HttpRequestBuilder.Post("https://furion.net")    .SetMultipartContent(multipart =>    {        multipart.AddFormUrlEncoded(new { id = 1 ,name = "Furion" }, "form");        multipart.AddFormUrlEncoded(new { id = 1 ,name = "Furion" }, "form", useStringContent: true);   // 使用 StringContent 解决 FormUrlEncodedContent 编码问题        // 支持 URL 编码字符串格式        multipart.AddFormUrlEncoded("id=1&name=Furion", "form", useStringContent: true);    });

添加多部分表单内容#

在多部分表单内容中添加多部分表单内容的需求并不常见。

cs
HttpRequestBuilder.Post("https://furion.net")    .SetMultipartContent(multipart =>    {        multipart.AddMultipartFormData(new MultipartFormDataContent(), "form");    });

添加 HttpContent 内容#

添加所有派生自 HttpContent 的请求内容。

cs
HttpRequestBuilder.Post("https://furion.net")    .SetMultipartContent(multipart =>    {        multipart.Add(new StringContent("test"));        multipart.Add(new StringContent("test"), "name");   // 设置表单名        multipart.Add(new FormUrlEncodedContent([            new KeyValuePair<string, string>("id", "1"), new KeyValuePair<string, string>("name", "furion")        ]));        multipart.Add(JsonContent.Create(new { id = 1, name = "Furion" });        multipart.Add(new StreamContent(stream));        multipart.Add(new ByteArrayContent(bytes), "bytes");        multipart.Add(new ReadOnlyMemoryContent(new ReadOnlyMemory<byte>(bytes));        multipart.Add(new MultipartFormDataContent());    });