我尝试在HttpClient
的c#"multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w"
请求中设置Content-Type标头。
到目前为止,我已尝试使用TryAddWithoutValidation
,但不会抛出任何异常/错误,但当我在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;
我已经尝试了所有类似的问题建议,并且看不到任何发送标题或不抛出某种异常。我应该放弃这个并使用我所说的更灵活的网络客户端吗?
答案 0 :(得分:5)
使用
ByteArrayContent byteContent = new ByteArrayContent(allContentBytes);
byteContent.Headers.Remove("Content-Type");
byteContent.Headers.Add("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w");