2016-11-18 15 views
1

Я пытаюсь установить заголовок Content-Type в запросе C# HttpClient"multipart/form-data; boundary=----WebKitFormBoundaryaYcxA3wAp5XMUV2w".Не удается отправить заголовок Content-Type с C# HttpClient

До сих пор я пытался использовать TryAddWithoutValidation, который не вызывает никаких исключений/ошибок, но когда я смотрю запрос в скрипаче, его просто не добавили? См. Код ниже.

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; 

Я пробовал все подобные вопросы предложения и не могу видеть, чтобы получить какой-либо послать заголовок или не бросить какие-то исключение. Должен ли я отказаться от этого и использовать веб-клиент, который, как мне сказали, более гибкий?

ответ

1

Получил эту работу с

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