Кодировка URL при отправке get запроса

Всем привет!

Сегодня столкнулся с такой проблемой:

Я формирую URL для GET запроса и отправляю GET запрос. URL генерируется правильно, но отправляется, как я понял, не правильно. Я задебажил получаемый URL, он был правильный, но после того, как я вставил в адресную строку браузера из такого запроса: http://localhost:61513/zertixapi/api/auth&admin&adminloh123@123sq запрос превращается в такой: http://localhost:61513/zertixapi/api/auth&admin%E2%80%8B&adminloh123@123sq%E2%80%8B и соответственно сервер выдаёт неправильный результат

Сталкивался ли кто-нибудь с таким и как это фиксить?

Вот код, как я отправляю запрос:

            string sURL;
            sURL =  base_url + "auth&" + _login.text.Replace(" ", "") + "&" + _pass.text.Replace(" ", "");

            WebRequest wrGETURL;
            wrGETURL = WebRequest.Create(sURL);

            WebProxy myProxy = new WebProxy("myproxy", 80);
            myProxy.BypassProxyOnLocal = true;

            wrGETURL.Proxy = WebProxy.GetDefaultProxy();

            Stream objStream;
            objStream = wrGETURL.GetResponse().GetResponseStream();

            StreamReader objReader = new StreamReader(objStream);

            string sLine = "";
            int i = 0;

            while (sLine != null)
            {
                i++;
                sLine = objReader.ReadLine();
            }

P.S С прямой ссылкой работает

РЕШЕНИЕ:

У меня был установлен TextMeshPro (TMP), и из него я брал текст, и видимо каким-то магическим образом, он добавлял свои знаки. Вообщем установил Text и всё норм)


Ответы (1 шт):

Автор решения: Andrew

для генерации урла:

var uriBuilder = new UriBuilder(Request.Url.AbsoluteUri);
var paramValues = HttpUtility.ParseQueryString(uriBuilder.Query);

paramValues.Add("param1", "value1");
paramValues.Add("param2", "value2");
uriBuilder.Query = paramValues.ToString();

//твой результат
var urlWithParams = uriBuilder.Uri;

для доставания из урла значения параметра:

Uri myUri = new Uri("http://www.example.com?param1=good&param2=bad");
string param1 = HttpUtility.ParseQueryString(myUri.Query).Get("param1");

оба кода найдены по запросу "c# url set with parameters"

→ Ссылка