4.6表单与 HttpContent
在多部分表单内容中添加 URL 编码表单内容。
添加 URL 编码表单内容#
在多部分表单内容中添加 URL 编码表单内容。
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); });添加多部分表单内容#
在多部分表单内容中添加多部分表单内容的需求并不常见。
HttpRequestBuilder.Post("https://furion.net") .SetMultipartContent(multipart => { multipart.AddMultipartFormData(new MultipartFormDataContent(), "form"); });添加 HttpContent 内容#
添加所有派生自 HttpContent 的请求内容。
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()); });