HTTP Shortcuts 介绍及向 Bark 推送消息教程

前言

缘起于 @feeshy 分享的跨平台跨设备剪贴板推送/同步方案合集,受益良多。根据自己的需求折腾了好多 app,最后结果在此分享。


介绍

此篇为安卓发送篇,需求如下:

  1. 向 iOS 设备推送文本 1   :point_left: 本帖
  2. 向 PC 推送文本 2
  3. 不依赖 IM 类软件
  4. 不依赖 GMS
  5. 如为轻量型 App 更佳

试过类 Tasker app,比如 MacroDroid、Automate、Automagic,都感觉太重。目前使用一个开源 App:HTTP Shortcuts,中文名称:HTTP 快捷方式。转载自官网的简介:

A simple Android app that allows you to create shortcuts and widgets that can be placed on your home screen. Each shortcut, when clicked, triggers an HTTP request.

机翻:

一款简单的 Android 应用程序,允许您创建可以放在主屏幕上的快捷方式和小部件。单击每个快捷方式时,都会触发 HTTP 请求。

节选自官网的功能列表:

  • GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS and TRACE
  • Custom request headers
  • Custom request body (text only)
  • Display response as a toast, window or dialog, or run silently
  • Value injection through variables (e.g., text, numbers, passwords, selections, colors, dates, …)
  • Run JavaScript code before & after execution and invoke actions (e.g., vibrate, show toast, parse JSON response…), allowing to create powerful workflows
  • Completely free, and no ads!

| 软件首页 | 开源地址 | F-Droid 市场 | Play 商店 |


配置 HTTP 快捷方式 App

向 iOS 设备发送文本

  • 设置变量:

    1. 在 App 首页点击顶栏 {} 按钮;
    2. 在变量界面中点击 + 按钮,选择 输入文本
    3. 填写变量名称(如:Content);勾选下方的“URL 编码”;保存退出。
  • 设置快捷方式:

    1. 在 App 首页点击 + 按钮,选择 新建快捷方式
    2. 填写名称(如:push2ios),点击 基本设置
    3. 保持默认"GET",在 URL 栏目中填入 https://api.day.app/???/发送自Android/ ;点击旁边的 {} 按钮,选中你刚刚设置的变量;在URL的最后加上 ?automaticallyCopy=1 ;保存退出。

      最终在 URL 栏目填的地址如下所示。 ??? 替换成你的 Bark Key; {Content} 为你在上一步中添加并命名的变量;最后一个问号应为英文符号。
      https://api.day.app/???/发送自Android/{Content}?automaticallyCopy=1

  • 将快捷方式发送到桌面(可选):

    1. 在 App 首页按住刚刚设置的快捷方式(如:push2ios),点击 发送到桌面
  • 向 iOS 设备发送文本:

    1. 运行刚刚设置好的快捷方式(如:push2ios);
    2. 在弹出的对话框中 粘贴/输入 要发送的文字,点击 确定
    3. 若弹出的 Toast 消息为 {"code":200,"data":null,"message":""} 则发送成功。
  • 局限性:

    1. 无法直接获取剪贴板内容,只能弹输入框获取文本;
    2. 无法从响应正文中提取文字,也就无法复刻 Pushbullet,还要另装接收消息 app;

      我不懂编程,从网上搜的 JavaScript 代码测试不行,欢迎指点。

    3. 一个设备一个快捷方式,桌面图标太多。

      triggerShortcutshowSelection 组合起来可以只放一个图标。但目前有 BUG,在桌面无法运行。 MIUI上该功能有BUG,其他系统没听说有问题。


后记

人呢,总是有许多奇奇怪怪的需求,正因为这些不一样的需求,才催生出各式各样的 app 。这些 app 解决的痛点在另一个人眼里也许就不是问题。这次折腾很久能勉强达成目的运气不错,特此分享。

写分享好麻烦啊!!!这篇文章鸽一个月不止了。

2 个赞

好厉害,Bark各种奇奇怪怪的推送方式名单又+1

再给你加一个 fv悬浮球。。。
fv悬浮球的自动化功能太强了。。。还自带了发送post get请求的功能。。不过比较弱
好在 fv悬浮球还能执行shell命令 我就用它执行curl来发送http请求

我也用的是fv,一直有个问题困扰我,curl怎么传递长文本?例如代码,该贴楼主发布过一个剪切板分享,其中运用到http快捷方式工具,我尝试使用fv实现,但是只能复制一些简单文字,如果遇到符号回车等未知的情况就会失败。无奈现用http快捷方式过度。还是想在fv上面实现。

盲猜文字转成base64,再发送,服务端解码后再操作

这个问题只能等真正的大佬来回答了,对curl命令的使用我也是一知半解

curl命令是可以向服务器传递文件的,自动任务里可以先将文本存到个临时文件中再用curl传递。同时还需注意android的权限机问题,该文件必须放在可以调用的目录

另外 fv执行shell 可以添加自定义参数的 如果把长文本设置成参数不知道是不是也能解决这问题

有道理。空了再试试

试用之后发现搭配使用Quicker推送服务(长连接功能)可以方便跨设备推送,实测安卓11、13剪贴板权限授权一次后可以直接发送。太舒服了 :kissing: