Вы вытаскиваете URL из логов сервера, и он выглядит так: https://example.com/search?q=hello%20world&redirect=https%3A%2F%2Fother.com%2Fpath. Вам нужно прочитать параметры запроса, но процентное кодирование делает это почти невозможным на глаз. Поэтому вы вставляете его в браузерный инструмент, декодируете, читаете результат, а затем перекодируете изменённую версию, чтобы что-то проверить. Два похода на сайт ради того, что должно быть тривиальной операцией.
URL-кодирование — одна из тех вещей, с которыми разработчики постоянно сталкиваются, но редко о них задумываются, — пока сломанный редирект, некорректная строка запроса или дважды закодированный параметр не превратят пятиминутную задачу в часовую отладку.
Когда URL-кодирование создаёт реальные проблемы
Двойное кодирование — классическая ловушка. URL кодируется один раз вашим приложением и ещё раз промежуточным слоем, превращая %20 в %2520. Чтобы это диагностировать, нужно декодировать URL шаг за шагом и увидеть точно, где закралось лишнее кодирование. Делать это в терминале через python3 -c "import urllib.parse; print(urllib.parse.unquote('...'))" работает, но медленно и подвержено ошибкам для длинных URL.
Ошибки кодирования также ломают потоки OAuth, URL вебхуков и колбэки API, где redirect URI должен совпадать в точности. Возможность быстро кодировать и декодировать позволяет сравнить, что отправляет ваше приложение, с тем, что ожидает сервер.
Кодируйте и декодируйте URL мгновенно
Bellows включает кодировщик и декодировщик URL среди своих 41 инструментов для разработчиков. Вставьте закодированный URL, чтобы увидеть читаемую версию. Введите обычный URL, чтобы получить правильно закодированный результат. Переключайтесь между кодированием и декодированием одним кликом, а результат обновляется в реальном времени.
Отладка редиректов
Потоки OAuth и SSO передают redirect URI в виде закодированных параметров URL. Когда редирект не срабатывает, первый шаг — декодировать URL, чтобы убедиться, что цель совпадает с зарегистрированным колбэком. Наличие локального инструмента позволяет сделать это, не покидая IDE и не вставляя потенциально чувствительные callback URL на публичный сайт.
Работа со строками запроса
API, принимающие сложные фильтры или поисковые запросы через параметры URL, часто требуют аккуратного кодирования специальных символов вроде &, =, + и пробелов. Специализированный кодировщик гарантирует правильный результат без угадывания, какие символы нужно экранировать в вашем конкретном контексте.