无法使用 c# HttpClient 发送 Content-Type header
Can't send Content-Type header with c# HttpClient
我正在尝试在 "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w"
.
的 c# HttpClient
请求中设置 Content-Type header
到目前为止,我已经尝试使用 TryAddWithoutValidation
,它不会抛出任何 exception/error 但是当我在 fiddler 中看到请求时,它只是没有被添加?请参阅下面的代码。
client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w");
response = client.PostAsync("https://example.com", byteContent).Result;
我也尝试过将我尝试发送的字节数组转换为字符串并使用 StringContent
但这会引发异常,提示 "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w"
无效。
StringContent testStringcontent = new StringContent(Encoding.Default.GetString(allContentBytes), Encoding.UTF8, "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w");
response = client.PostAsync("https://example.com", testStringcontent).Result;
我已经尝试了所有类似问题的建议,但看不到任何发送 header 或不抛出某种异常的建议。我应该放弃这个并使用我被告知更灵活的网络客户端吗?
得到这个与
一起工作
ByteArrayContent byteContent = new ByteArrayContent(allContentBytes);
byteContent.Headers.Remove("Content-Type");
byteContent.Headers.Add("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w");
我正在尝试在 "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w"
.
HttpClient
请求中设置 Content-Type header
到目前为止,我已经尝试使用 TryAddWithoutValidation
,它不会抛出任何 exception/error 但是当我在 fiddler 中看到请求时,它只是没有被添加?请参阅下面的代码。
client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w");
response = client.PostAsync("https://example.com", byteContent).Result;
我也尝试过将我尝试发送的字节数组转换为字符串并使用 StringContent
但这会引发异常,提示 "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w"
无效。
StringContent testStringcontent = new StringContent(Encoding.Default.GetString(allContentBytes), Encoding.UTF8, "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w");
response = client.PostAsync("https://example.com", testStringcontent).Result;
我已经尝试了所有类似问题的建议,但看不到任何发送 header 或不抛出某种异常的建议。我应该放弃这个并使用我被告知更灵活的网络客户端吗?
得到这个与
一起工作ByteArrayContent byteContent = new ByteArrayContent(allContentBytes);
byteContent.Headers.Remove("Content-Type");
byteContent.Headers.Add("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w");