无法使用 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");