HTTP Request Shortcuts: гайд по настройке HTTP-запросов с домашнего экрана

Приложение HTTP Request Shortcuts для Android позволяет вывести любой HTTP-запрос — например, GET на локальный адрес умного реле или POST с JSON-телом — в виде ярлыка прямо на домашний экран, и запрос выполняется одним нажатием без открытия браузера или терминала. Если ярлык создан, но при нажатии возвращается ошибка соединения, первым делом проверьте, что телефон и целевое устройство находятся в одной Wi-Fi сети, а адрес указан с портом, например http://192.168.1.50:8080/relay/0?turn=on.

Это приложение популярно среди владельцев умного дома, разработчиков и всех, кто управляет устройствами через REST API. Оно бесплатное, с открытым исходным кодом и не требует root-прав. Ниже разберём установку, создание первого ярлыка, работу с переменными и типичные ошибки.

Что умеет HTTP Request Shortcuts

Основная функция приложения — создание ярлыков на домашний экран, каждый из которых отправляет заранее настроенный HTTP-запрос. Поддерживаются методы GET, POST, PUT, DELETE, PATCH и другие, а также настройка заголовков, тела запроса и аутентификации.

Помимо базовых запросов, приложение умеет:

  • 🔐 Аутентификация — Basic Auth и произвольные заголовки для передачи токенов;
  • 📦 Тело запроса — произвольный текст, JSON или form-data для POST-запросов;
  • 🔁 Переменные — динамические значения, которые подставляются в URL или тело перед отправкой;
  • 🧩 Интеграция с Tasker — запуск запросов по событиям через Tasker или MacroDroid;
  • 🏠 Виджеты и ярлыки — размещение кнопок на рабочем столе и запуск из шторки быстрых настроек.

Отдельно стоит упомянуть скриптинг: приложение позволяет выполнять JavaScript-код до и после запроса — например, чтобы обработать ответ сервера, показать уведомление или передать данные в следующий запрос цепочки. Это превращает простой «кликер» в инструмент автоматизации.

Установка и первый запуск

Установите приложение из Google Play или F-Droid по запросу «HTTP Request Shortcuts». Версия на F-Droid собирается из открытого кода и подходит тем, кто предпочитает избегать сервисов Google. После установки никакой регистрации не требуется — приложение работает полностью локально.

При первом запуске вы увидите пустой список ярлыков. Разрешений приложение запрашивает минимум — по сути, только доступ к сети. Если планируете использовать запросы к локальным устройствам, убедитесь, что система не ограничивает фоновую активность приложения, хотя для одиночных запросов по нажатию это не критично.

Создание первого ярлыка

Нажмите кнопку добавления (обычно «+» внизу экрана) и выберите тип ярлыка — для начала подойдёт обычный ярлык запроса. Дальше заполняются базовые поля: имя ярлыка, метод и URL. Имя будет отображаться под иконкой на домашнем экране, поэтому делайте его коротким и понятным, например «Свет на кухне».

☑️ Настройка базового запроса

Выполнено: 0 / 6

Для POST-запроса к API откройте раздел тела запроса и укажите тип содержимого, например application/json. Пример тела для включения устройства:

{"state": "on", "brightness": 80}

После сохранения нажмите на ярлык внутри приложения, чтобы выполнить тестовый запуск. В ответе вы увидите код состояния и тело ответа сервера — это самый быстрый способ убедиться, что всё настроено верно. Код 200 или 204 обычно означает успех.

Методы, заголовки и аутентификация

Выбор метода зависит от API устройства или сервиса. GET используется для получения данных, POST — для отправки команд и создания ресурсов, PUT и PATCH — для обновления, DELETE — для удаления. Если не уверены, какой метод требуется, сверьтесь с документацией конкретного API.

Заголовки добавляются в отдельном разделе настроек ярлыка. Типичные примеры:

ЗаголовокПример значенияНазначение
AuthorizationBearer ваш_токенПередача токена доступа к API
Content-Typeapplication/jsonФормат тела запроса
Acceptapplication/jsonОжидаемый формат ответа
X-Api-Keyключ из личного кабинетаКлюч API для некоторых сервисов
⚠️ Внимание: токены и ключи API хранятся в настройках приложения в открытом виде. Не передавайте экспортированные файлы настроек посторонним и не используйте ярлыки с секретными ключами на устройствах без блокировки экрана.

Для сервисов с Basic Auth предусмотрен отдельный тип аутентификации — укажите логин и пароль, и приложение само сформирует нужный заголовок. Это удобнее, чем вручную кодировать данные в Base64.

Переменные и динамические запросы

Раздел переменных позволяет делать ярлыки гибкими. Например, можно создать переменную room и использовать её в URL как http://192.168.1.50/api/{{room}}/light. Перед отправкой приложение предложит ввести значение или выберет его из списка.

Доступны разные типы переменных: статический текст, выбор из списка, поле ввода, переключатель, дата и время. Это удобно для сценариев вроде «установить яркость», где значение каждый раз разное. Переменные с типом «выбор из списка» избавляют от ошибок ручного ввода — значение всегда будет одним из допустимых.

Для продвинутых сценариев есть скриптовые блоки на JavaScript: можно разобрать JSON-ответ, извлечь нужное поле и показать его в уведомлении. Например, после запроса статуса датчика вывести температуру текстом.

📊 Для чего вы используете HTTP Request Shortcuts?
Управление умным домом
Тестирование API при разработке
Автоматизация с Tasker/MacroDroid
Только изучаю приложение

Интеграция с автоматизацией и домашним экраном

Чтобы добавить ярлык на рабочий стол, откройте меню ярлыка в приложении и выберите размещение на домашнем экране, либо используйте системный виджет ярлыков вашего лаунчера. Иконку и цвет можно настроить индивидуально — при нескольких десятках кнопок это заметно упрощает навигацию.

Для запуска запросов по расписанию или событию подключите Tasker или MacroDroid: приложение предоставляет интерфейс для внешних автоматизаторов, и ярлык можно вызвать как действие в сценарии. Например, запрос на отключение розетки при уходе из дома по геозоне. Точные пункты меню зависят от версии автоматизатора, поэтому сверяйтесь с его документацией.

Пример

цепочка запросов через скриптинг:В настройках ярлыка откройте раздел скриптов и добавьте код, выполняемый после запроса. Из ответа можно извлечь значение через JSON.parse(response.body), сохранить его в переменную и использовать в следующем ярлыке. Так строятся сценарии вида «получить токен → выполнить команду с токеном» без ручного копирования данных.

Типичные ошибки и их решение

Если запрос не выполняется, приложение показывает код ошибки или сообщение об исключении. Разберём частые ситуации:

  • 🌐 Ошибка соединения / timeout — устройство недоступно: проверьте IP-адрес, порт и то, что телефон в той же сети;
  • 🔑 Код 401 или 403 — проблема с авторизацией: проверьте токен, логин и пароль, срок действия ключа;
  • 📄 Код 400 — сервер отклонил запрос: скорее всего, ошибка в теле JSON или отсутствует обязательное поле;
  • 🚫 Код 404 — неверный путь URL: сверьте адрес с документацией API;
  • 🔒 Ошибка сертификата — возникает при HTTPS с самоподписанным сертификатом на локальном устройстве.
⚠️ Внимание: отключение проверки SSL-сертификатов, если такая опция включена, делает трафик уязвимым для перехвата. Используйте её только в доверенной домашней сети и только для локальных устройств без доступа из интернета.

Для диагностики полезно сначала проверить тот же запрос в браузере (для GET) — если и там ошибка, проблема на стороне устройства или сети, а не приложения. Также проверьте, не блокирует ли запросы межсетевой экран или «изоляция клиентов» (AP isolation) в настройках роутера — она запрещает обмен трафиком между устройствами в Wi-Fi сети.

Часто задаваемые вопросы

Работает ли приложение без интернета?

Да, для запросов к устройствам в локальной сети интернет не нужен — достаточно подключения к той же Wi-Fi сети. Интернет требуется только для запросов к внешним сервисам.

Можно ли запускать запросы автоматически по расписанию?

Встроенного планировщика в приложении нет, но ярлыки можно вызывать через Tasker или MacroDroid, где доступны триггеры по времени, местоположению и событиям системы.

Как передать токен, который периодически меняется?

Используйте скриптинг: первый запрос получает новый токен, скрипт сохраняет его в переменную, а последующие запросы подставляют её в заголовок Authorization автоматически.

Почему ярлык на домашнем экране не работает?

Проверьте, что ярлык создан именно через приложение или системное меню виджетов, а не скопирован вручную. Также убедитесь, что приложение не было ограничено системой оптимизации батареи — на некоторых прошивках агрессивная экономия энергии блокирует его работу.

Безопасно ли хранить пароли в приложении?

Данные хранятся локально на устройстве, но без шифрования на уровне приложения. Для критичных сервисов используйте токены с ограниченными правами и держите экран телефона заблокированным.