estoy tratando de establecer la cabecera Content-Type
de un objeto HttpClient
como es requerido por una API que estoy llamando.¿Cómo se configura el encabezado Content-Type para una solicitud de HttpClient?
He intentado establecer el Content-Type
, como a continuación:
using (var httpClient = new HttpClient())
{
httpClient.BaseAddress = new Uri("http://example.com/");
httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json");
// ...
}
Me permite añadir la cabecera Accept
pero cuando intento agregar Content-Type
que arroja la siguiente excepción:
nombre de encabezado de un mal uso. Asegúrese de que los encabezados de solicitud se utilizan con
HttpRequestMessage
, encabezados de respuesta conHttpResponseMessage
y encabezados de contenido conHttpContent
objetos.
¿Cómo puedo configurar el encabezado Content-Type
en una solicitud HttpClient
?
Alternativamente, 'Response.Content.Headers' funcionará la mayor parte del tiempo. –
@AshishJain La mayoría de las respuestas SO que he visto que envuelven 'Response.Content.Headers' para ASP.Net Web API tampoco han funcionado, pero se puede configurar fácilmente usando' HttpContext.Current.Response.ContentType' if necesitas. – jerhewet
@jerhewet lo usé de la siguiente manera que funcionó para mí. var content = new StringContent (data, Encoding.UTF8, "application/json"); –