>_ IzzyLab

Практическое задание

URL-кодирование строки

сложно

Строку из /root/query.txt (name=John Doe&city=São Paulo) нужно безопасно вставить в URL. Выполни percent-encoding (URL-кодирование) этой строки — пробелы, &, = и не-ASCII символы должны стать %XX — и запиши результат в /root/encoded.txt.

Что потренируешь:
  • url-кодирование
  • percent-encoding
  • python3
  • urllib.parse
  • кодировки

Разбор темы

URL может нести только ограниченный набор ASCII-символов, поэтому пробелы, разделители вроде & и =, а также любые не-ASCII байты (например кириллица или ã) заменяются на последовательности вида %XX — шестнадцатеричный код каждого байта в UTF-8. Это и называется percent-encoding. В базовой системе готовой команды для этого нет, зато стандартная библиотека Python содержит модуль для разбора и сборки URL с функциями кодирования. Идея — прочитать строку, прогнать её через такую функцию и записать результат.

Что проверяется

  1. строка URL-закодирована
  2. спецсимволы закодированы

Как это выглядит