нельзя заменить "" (пробел) на + (плюс) в строке - PullRequest
0 голосов
/ 07 сентября 2018

Я новичок в c #, Здесь я отправляю строку в качестве параметра метода API.

До этого я преобразовал пароль в API в виде строки хеширования в базу данных. Затем я извлекаю его из angular 4 и снова передаю его в API, получая в Angular 4 ту же строку, которую я храню в базе данных.

Когда я передаю его в API, в API я получил строку, но она теряет + символы в ней.

В частности, это потеря всех + в строке. Я пытался заменить пробел на +, но это не работает.

 string cc = mPasswordHash.Replace(" ", "+");

Передана строка в API: AhU29yCXdtoaNyQ8rhUBZMz0MieMNBTUaaA04hO + pGzd / iK01sQx6ckMi8LqCdyphShlBt9QhLtCizcUsy708eU90GD3Qg = 1014 * 10144 = Полученная строка:

AhU29yCXdtoaNyQ8rhUBZMz0MieMNBTUaaA04hO (здесь + нет там) pGzd / iK01sQx6ckMi8LqCdyphShlBt9QhLtCizcUsy708eU90GD7Qg = * * 101GD7Qg == * Может кто-нибудь помочь мне решить эту проблему.

1 Ответ

0 голосов
/ 07 сентября 2018

Если у вас есть контроль над отправляемым запросом, вы должны кодировать ваш URI . Это гарантирует, что специальные символы транспортируются на целевой сервер в стандартном формате. C # имеет встроенные функции для кодирования и декодирования строк:

System.Net.WebUtility.UrlEncode

System.Net.WebUtility.UrlDecode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...