Мне было трудно придумать, как опубликовать пароль с восклицательным знаком! с сервера Windows на сервер Linux. Я упоминаю Linux только потому, что Linux использует ! for
Следующий код работает до тех пор, пока в пароле нет восклицательного знака. Как только в пароле появляется восклицательный знак, я получаю ошибку 400.
Например;
пароль 123 работает.
пароль 123! не удалось.
Я пытался вставить escape-символы в пароль, но безрезультатно, например, я пробовал оба пароля123\! и пароль123!
Я думаю, проблема может быть в том, что Windows раньше не нуждался в escape-символе! но Linux делает. Не уверен на 100% в этом вопросе, но именно это мои исследования заставили меня подозревать.
Кто-нибудь знает, как решить эту проблему?
string Username = "myUserName";
string Password = "password123!";
authenticationString = $"{Username}:{Password}";
base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(authenticationString));
var client = new RestClient("https://linuxserver/xml-data/data-producer-listdata");
var request = new RestRequest("", RestSharp.Method.Get);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Basic " + base64EncodedAuthenticationString);
request.AddHeader("Connection", "keep-alive");
response = client.Execute(request);
Подробнее здесь: https://stackoverflow.com/questions/793 ... linux-serv