. net httpclient Кодировка Charset отличается от Fiddler - PullRequest
1 голос
/ 08 февраля 2020

В настоящее время я работаю с API, который требует, чтобы я отправил json в формате кодировки UTF-32.

Я использую HttpClient lib, но он не кодирует мой json так Fiddler делает так, что сервер возвращает ошибку. Я часами гуглял, но безуспешно, в любом случае вот мой необработанный запрос (Fiddler):

POST http://example.com/ HTTP/1.1
Content-Type: application/json; charset=utf-32
Host: example.com
Content-Length: 92
Expect: 100-continue
Connection: Keep-Alive

{"jsonKey":"JsonValue"}

Закодированный контент выглядит так:

enter image description here

и вот мой простой C# запрос:

using(HttpClient client = new HttpClient(new HttpClientHandler() { Proxy = new WebProxy("127.0.0.1:8080") }))
{
    _ = await client.PostAsync("http://example.com", new StringContent("{\"jsonKey\":\"JsonValue\"}", Encoding.UTF32, "application/json")).ConfigureAwait(false);
}

C# выглядит так:

enter image description here

...