Приложение 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. Имя будет отображаться под иконкой на домашнем экране, поэтому делайте его коротким и понятным, например «Свет на кухне».
☑️ Настройка базового запроса
Для POST-запроса к API откройте раздел тела запроса и укажите тип содержимого, например application/json. Пример тела для включения устройства:
{"state": "on", "brightness": 80}
После сохранения нажмите на ярлык внутри приложения, чтобы выполнить тестовый запуск. В ответе вы увидите код состояния и тело ответа сервера — это самый быстрый способ убедиться, что всё настроено верно. Код 200 или 204 обычно означает успех.
Методы, заголовки и аутентификация
Выбор метода зависит от API устройства или сервиса. GET используется для получения данных, POST — для отправки команд и создания ресурсов, PUT и PATCH — для обновления, DELETE — для удаления. Если не уверены, какой метод требуется, сверьтесь с документацией конкретного API.
Заголовки добавляются в отдельном разделе настроек ярлыка. Типичные примеры:
| Заголовок | Пример значения | Назначение |
|---|---|---|
Authorization | Bearer ваш_токен | Передача токена доступа к API |
Content-Type | application/json | Формат тела запроса |
Accept | application/json | Ожидаемый формат ответа |
X-Api-Key | ключ из личного кабинета | Ключ API для некоторых сервисов |
⚠️ Внимание: токены и ключи API хранятся в настройках приложения в открытом виде. Не передавайте экспортированные файлы настроек посторонним и не используйте ярлыки с секретными ключами на устройствах без блокировки экрана.
Для сервисов с Basic Auth предусмотрен отдельный тип аутентификации — укажите логин и пароль, и приложение само сформирует нужный заголовок. Это удобнее, чем вручную кодировать данные в Base64.
Переменные и динамические запросы
Раздел переменных позволяет делать ярлыки гибкими. Например, можно создать переменную room и использовать её в URL как http://192.168.1.50/api/{{room}}/light. Перед отправкой приложение предложит ввести значение или выберет его из списка.
Доступны разные типы переменных: статический текст, выбор из списка, поле ввода, переключатель, дата и время. Это удобно для сценариев вроде «установить яркость», где значение каждый раз разное. Переменные с типом «выбор из списка» избавляют от ошибок ручного ввода — значение всегда будет одним из допустимых.
Для продвинутых сценариев есть скриптовые блоки на JavaScript: можно разобрать JSON-ответ, извлечь нужное поле и показать его в уведомлении. Например, после запроса статуса датчика вывести температуру текстом.
Интеграция с автоматизацией и домашним экраном
Чтобы добавить ярлык на рабочий стол, откройте меню ярлыка в приложении и выберите размещение на домашнем экране, либо используйте системный виджет ярлыков вашего лаунчера. Иконку и цвет можно настроить индивидуально — при нескольких десятках кнопок это заметно упрощает навигацию.
Для запуска запросов по расписанию или событию подключите 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 автоматически.
Почему ярлык на домашнем экране не работает?
Проверьте, что ярлык создан именно через приложение или системное меню виджетов, а не скопирован вручную. Также убедитесь, что приложение не было ограничено системой оптимизации батареи — на некоторых прошивках агрессивная экономия энергии блокирует его работу.
Безопасно ли хранить пароли в приложении?
Данные хранятся локально на устройстве, но без шифрования на уровне приложения. Для критичных сервисов используйте токены с ограниченными правами и держите экран телефона заблокированным.