Предотвращение изменения HttpClient моего URL в GetAsync()?

Я пишу свою программу на C# .NET и пытаюсь заставить мой HttpClient отправлять GET-запрос в точности так, как объявлена ​​строка. Независимо от того, что я делаю, URL запроса GET всегда меняется.

Например,

client.GetAsync("http://example.com/?id=123%34");
// returns GET http://example.com?id=1234 (before it reaches the server)

или же

client.GetAsync(new Uri("http://example.com/?id=123%34"));
// also returns GET http://example.com?id=1234 (before it reaches the server)
// I need the server to see http://example.com?id=123%34 before it reaches
// the server so it can convert the value 4 on the server side.

делает запрос на " http://www.example.com/?id=1234". Чего я не надеюсь достичь. Я понимаю, что%34 - это то же самое, что отправка 4, но мне нужен веб-сервер, чтобы увидеть, что%34 является входящим. Я хочу, чтобы веб-сервер обрабатывал процентное преобразование кодировки.

Можно ли как-то сказать HttpClient прекратить кодирование / изменение URL-адреса GET-запроса? Я думал о перегрузке метода GetAsync(), но, честно говоря, не знаю, с чего начать.

Я определил проблему, подключив мою программу к BURP и Fiddler. HttpClient кодирует мой URL-адрес, прежде чем он достигает сервера.

0 ответов

Другие вопросы по тегам