двойное Unicode кодирование

Ostin

Client
Регистрация
03.09.2019
Сообщения
10
Благодарностей
0
Баллы
1
Здравствуйте. В данных постзапроса идет кодирование юзерагента. Только кодирование идёт двойное, видимо. Получилось раскодировать 2 раза прогнав тут www.urldecoder.org
2 раза прогнав в закодирование, так и не получился необходимый вариант юа для пост запроса.
Кодирует mozilla%252F5.0%2520(iphone%253B%2520cpu%2520iphone%2520os%252012_1_4%2520like%2520mac%2520os%2520x)%2520applewebkit%252F605.1.15%2520(khtml%252C%2520like%2520gecko)%2520version%252F12.0%2520mobile%252F15e148%2520safari%252F604.1
Необходимо mozilla%252F5%252E0%2520%2528iphone%253B%2520cpu%2520iphone%2520os%252014%255F6%2520like%2520mac%2520os%2520x%2529%2520applewebkit%252F605%252E1%252E15%2520%2528khtml%252C%2520like%2520gecko%2529%2520version%252F14%252E1%252E1%2520mobile%252F15e148%2520safari%252F604%252E1%257C5%252E0%2520%2528Macintosh%253B%2520Intel%2520Mac%2520OS%2520X%252010%255F15%2529%2520AppleWebKit%252F605%252E1%252E15%2520%2528KHTML%252C%2520like%2520Gecko%2529%2520Version%252F13%252E0%252E5%2520Safari%252F604%252E1
Как можно это реализовать?
Через вручную (костыли никто не отменял) с "заменой" - очень много кубиков, в С# не разбираюсь, к сожалению. Если делать "конвертировать в С#" и кидать каждую замену в один кубик, то выполняет только последнюю строку в списке.
Как можно решить?
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
C#:
Func<char, string> EncodeChar = (char c)=>{
    if(!char.IsLetterOrDigit(c)) return Uri.HexEscape(c);
    return c.ToString();
};
var decoded = project.Variables["useragent"].Value;//useragent поменять на имя своей переменной
var encoded = Uri.EscapeDataString(string.Join("", decoded.Select(x=>EncodeChar(x))));
return encoded;//в результате работы кубика указать переменную, куда будет сохранен результат
 
  • Спасибо
Реакции: Sergodjan и Ostin

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)