Tasker File 与 Internet 动作详解 文件读写 HTTP 请求 Webhook 自动化
File:文件系统操作
File 类让 Tasker 直接操作手机存储——内部存储、SD 卡、USB OTG。动作覆盖最基础的读/写/删到压缩解压、JSON 解析等。
核心动作
| 动作 | 功能 | 典型用途 |
|---|---|---|
| Read File | 读取文件内容到变量 | 加载配置、读取数据 |
| Write File | 将变量/文本写入文件 | 持久化状态、生成数据文件 |
| Copy File / Move File | 复制或移动文件 | 文件备份、按类型归档 |
| Delete File | 删除文件 | 清理临时文件 |
| List Files | 列出目录下的文件名 | 遍历目录、批量处理 |
| Create Directory | 创建文件夹 | 初始化目录结构 |
| Zip / Unzip | 压缩/解压 ZIP | 备份打包 |
| Read JSON / JSON Test | 解析 JSON 文件到变量 | 处理结构化数据 |
| Variable Split / Variable Join | 按分隔符拆分/合并变量 | CSV 处理 |
Write File 的编码问题
写入文件时注意编码:
- UTF-8(推荐):大部分现代工具能正确识别
- ANSI/Latin-1:Windows 旧软件兼容
- Tasker 默认写入 UTF-8(无 BOM),与 Git/大多数工具兼容
JSON 解析
现代自动化大量使用 JSON API 返回数据。Tasker 的 Read JSON 动作可以解析 JSON 文件并把字段映射到变量:
输入文件:{"name": "小明", "age": 25, "hobbies": ["编程", "健身"]}
解析后变量:
%json_name = 小明
%json_age = 25
%json_hobbies1 = 编程
%json_hobbies2 = 健身
支持嵌套对象、数组、字符串、数字、布尔值、null。配合 Variable Set 可以把 JSON 字段进一步处理。
CSV 处理
Tasker 没有专门的 CSV 动作,但可以用 Variable Split / Join 实现:
Read File %CSVData → 读取 CSV 文件内容到变量
Variable Split %CSVData → 按换行符拆分,得到每行一个变量(%CSVData1, %CSVData2, ...)
Variable Split %CSVData1 → 按逗号拆分,第一行各字段存入不同变量
Internet:网络自动化
Internet 类是 Tasker 与外部世界对接的管道。从最简单的下载图片,到复杂的 API 调用、Webhook、邮件发送,都在这里。
核心动作
| 动作 | 功能 | 典型用途 |
|---|---|---|
| HTTP Request | 发送 GET/POST/PUT/DELETE 请求 | 调用 REST API |
| Read Webpage | 下载网页内容到变量 | 抓取网页数据 |
| Download File | 下载文件到本地 | 自动更新、同步资源 |
| Send Mail | 发送邮件 | 通知、备份报告 |
| Send SMS | 发送短信 | 提醒、自动回复 |
| Send Intent | 发送 Android Intent | 跨 App 通信(高级) |
HTTP Request:Tasker 的 API 调用主力
HTTP Request 是 Internet 类中最强大也最常用的动作:
支持的请求方式:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS
支持的认证方式:
- 无认证
- 基本认证(用户名/密码)
- Bearer Token(OAuth2)
- 自定义 Header(任意 Key-Value)
请求体(Body)支持:
- 直接输入文本(JSON/XML/表单)
- 从变量读取(方便动态构建)
- multipart/form-data(文件上传)
返回值处理:
- 原始响应体 → 存入变量(如
%HTTPD) - HTTP 状态码 → 存入变量(
%HTTPCODE) - 响应 Header → 存入变量(
%HTTPHEADER) - 支持 Auto JSON Decode——自动把 JSON 响应解析到变量
HTTP Request 实战示例
调用天气预报 API:
HTTP Request
URL: [天气预报 API 端点,如 OpenWeather 的 weather 接口]
Method: GET
Headers: Authorization: Bearer %APIKEY
Body: 空(GET 请求)
Auto JSON Decode: On
→ 响应自动解析到 %weather_main, %weather_temp, ...
发送 Webhook 通知:
HTTP Request
URL: [Webhook 端点,如 IFTTT / Slack 的 webhook 地址]
Method: POST
Content Type: application/json
Body: {"text": "电量低了!当前 %BATT %"}
→ 发送成功后 Stop Task
Read Webpage 的陷阱
Read Webpage 动作有一些限制:
- 它下载的是原始 HTML,不会执行 JavaScript
- 对于 SPA(单页应用)或 JS 动态渲染的页面,抓到的可能只是壳
- 需要登录的页面可能拿到的是登录页而不是实际内容
- 适合抓取静态页面、RSS、API 端点
Send Mail
Tasker 内置的 Send Mail 需要 SMTP 服务器:
- 免费 SMTP:QQ 邮箱、163 邮箱(需要开启客户端授权码)、Gmail(需要应用专用密码)
- 企业 SMTP:公司邮件系统
- 高级场景:可以通过 HTTP Request 调用 SendGrid / Mailgun 等邮件 API,功能更强大
Send SMS 自动回复
Profile:自动回复(开车时)
State:Bluetooth Connected → 车载蓝牙设备
Event:Received Text → 任意号码
Enter Task:
1. Variable Set %LastNum, %SMSRF(发送者号码)
2. Variable Set %Reply, "我正在开车,稍后回复你"
3. Send SMS → %LastNum, %Reply
4. Notify → "已自动回复 %SMSRF"
注意:部分运营商对高频发送短信有限制。
File + Internet 组合场景
这两类动作配合起来可以实现很多有想象力的自动化:
自动备份剪贴板到云端
Event:Clipboard Changed
Task:
1. Variable Set %Clip, %CLIP
2. Write File %Clip → 本地剪贴板日志
3. HTTP Request(POST → 云端日志 API)
下载最新壁纸并设为桌面
Time Context:每天 08:00
Task:
1. HTTP Request → 从壁纸 API 拿图片 URL
2. Download File → 下载到临时目录
3. Set System Wallpaper → 使用下载的图片
从远程配置文件加载自动化规则
Time Context:每小时一次
Task:
1. Read Webpage → [远程 JSON 配置文件的地址]
2. JSON Test → 验证 JSON 格式
3. Read JSON → 解析到变量
4. Variable Set %ActiveRule, %json_rule(根据远程配置启用/禁用不同规则)