【HttpClient】Content-Typeを明示的に設定する
APIにHttpClientを使ってPOSTリクエストを投げたかったが、URLは合っているのになぜかうまくいかなくて何でだろう?と思って調査したメモ。
API側はヘッダーにContentTypeのみを要求していました。
で、HttpClientのContentTypeはデフォルトでcharsetが追加された状態になってしまうらしい。
var content = new StringContent(data, Encoding.UTF8, "application/json");
このままだと”application/json”の後ろにcharsetが追加された状態になってしまいます。
“application/json”のみを送りたい場合は以下のコードを追加します。
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
これでContentTypeの内容を再設定することができました。