Предотвращение изменения 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-адрес, прежде чем он достигает сервера.