Sto tentando di impostare l'intestazione Content-Type
di un oggetto HttpClient
come richiesto da un'API che sto chiamando.Come si imposta l'intestazione Content-Type per una richiesta HttpClient?
ho provato a fissare il Content-Type
come di seguito:
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");
// ...
}
Mi permette di aggiungere l'intestazione Accept
ma quando provo ad aggiungere Content-Type
getta la seguente eccezione:
abusato nome dell'intestazione. Assicurarsi che le intestazioni di richiesta vengano utilizzate con
HttpRequestMessage
, le intestazioni di risposta con le intestazioni di contenutoHttpResponseMessage
e con gli oggettiHttpContent
.
Come posso impostare il Content-Type
intestazione in una richiesta HttpClient
?
In alternativa, 'Response.Content.Headers' funzionerà la maggior parte del tempo. –
@AshishJain La maggior parte delle risposte SO che ho visto coinvolgere 'Response.Content.Headers' per l'API Web ASP.Net non ha funzionato, ma è possibile impostarlo facilmente usando' HttpContext.Current.Response.ContentType' if devi. – jerhewet
@jerhewet ho usato nel modo seguente che ha funzionato per me. var content = new StringContent (data, Encoding.UTF8, "application/json"); –