2016-11-18 20 views
1

我想设置一个C#HttpClient请求"multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w"内容类型头。不能发送Content-Type头与C#HttpClient

到目前为止,我已经尝试过使用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; 

我试过所有类似的问题的建议,不能看到得到任何发送头或不抛出某种异常。我应该放弃这一点,并使用Web客户端,我被告知更灵活?

回答

1

得到这个与

ByteArrayContent byteContent = new ByteArrayContent(allContentBytes); 
byteContent.Headers.Remove("Content-Type"); 
byteContent.Headers.Add("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w"); 
工作