API文档 # SBS api文档 - 适用于SBS沙盒`1.3及以上版本` - 使用api需要在SBS沙盒中开启`API服务`,并且必须保证SBS沙盒一直运行在后台, 不能被系统杀死 - api是后台操作, 不会刷新UI界面, 需要手动刷新一下界面显示才会同步, 不刷新也不会影响api效果 - api调用的功能和界面操作完全一致 # 协议 - API采用HTTP协议, 支持任何编程语言 - 支持`GET`,`POST`, 推荐使用`POST`, 因为有些编程语言get提交参数可能会乱码 - 端口`8080` # 手机IP地址 1. 在手机中运行脚本访问api, ip地址为`127.0.0.1`或`localhost` 2. 在电脑上访问api, 手机需要与电脑处于同一局域网下面, ip地址为`手机wifi的ip` 3. 安卓模拟器和手机不通, 它的wifi是虚拟的, 外界无法访问, 以雷电模拟器为例, 需要设置模拟器为桥接模式 # API ## 获取设备信息 - url: http://{手机的ip地址}:8080/info - 参数: 无 返回结果示例 ``` { "code": 0, "result": { "brand": "Xiaomi", "ip": "{手机的ip地址}", "model": "MI 6", "userid": "1890421197" } } ``` ## 获取正在运行的沙盒id - url: http://{手机的ip地址}:8080/getRunningSandboxId - 参数: 无 返回结果示例 ``` { "code": 0, "result": 6 } ``` ## 获取所有沙盒id列表 - url: http://{手机的ip地址}:8080/getAllSandboxId - 参数: 无 返回结果示例 ``` { "code": 0, "result": [ 1, 2, 3, 4, 5, 6 ] } ``` ## 获取沙盒名称 - url: http://{手机的ip地址}:8080/getSandboxName?id=1 - 参数 - `id`: 沙盒id 返回结果示例 ``` { "code": 0, "result": "one" } ``` ## 获取沙盒备注 - url: http://{手机的ip地址}:8080/getSandboxNote?id=1 - 参数 - `id`: 沙盒id 返回结果示例 ``` { "code": 0, "result": "one note 666" } ``` ## 设置沙盒名称 - url: http://{手机的ip地址}:8080/setSandboxName?id=1&name=165465464 - 参数 - `id`:沙盒id - `name`:需要设置的名称 返回结果示例 ``` { "code": 0, "result": "设置成功" } ``` ## 设置沙盒备注 - url: http://{手机的ip地址}:8080/setSandboxNote?id=1¬e=啥搭嘎速度调 - 参数: - `id`:沙盒id - `note`:需要设置的备注 返回结果示例 ``` { "code": 0, "result": "设置成功" } ``` ## 获取虚拟定位坐标 - url: http://{手机的ip地址}:8080/getSandboxLocation?id=1 - 参数: - `id`:沙盒id 返回结果示例 ``` { "code": 0, "result": { "lat": 21.47676, "lng": 111.00201, "address": "广东省茂名市电白区元田东村;227乡道与南海大道路口东58米" } } ``` ## 设置虚拟定位坐标 - url: http://{手机的ip地址}:8080/setSandboxLocation?id=1&lat=21.47676&lng=111.00201 - 参数: - `id`:沙盒id - `lat`:纬度 - `lng`:经度 返回结果示例 ``` { "code": 0, "result": "成功" } ``` ## 新建沙盒 - url: http://{手机的ip地址}:8080/newSandbox - url: http://{手机的ip地址}:8080/newSandbox?name=测试新建沙盒 - 参数: - `name`:沙盒名称(可选) 返回结果示例 ``` { "code": 0, "result": { "沙盒id": 8, "沙盒名称": "测试新建沙盒" } } ``` ## 启动沙盒 > 打开沙盒时会自动关闭当前运行的沙盒, 不需要主动关闭 - url: http://{手机的ip地址}:8080/openSandbox?id=1 - 参数: - `id`:沙盒id 返回结果示例 ``` { "code": 0, "result": { "沙盒id": 1, "沙盒名称": "165465464", "开关飞行模式": "完成 需要等待网络重新连接才能继续执行api", "删除内置存储中所有隐藏文件": "完成", "恢复联系人": "完成", "恢复短信": "完成", "恢复通话记录": "完成" } } ``` ## 关闭沙盒 - url: http://{手机的ip地址}:8080/closeSandbox?id=1 - 参数: - `id`:沙盒id 返回结果示例 ``` { "code": 0, "result": "成功" } ``` ## 删除沙盒 - url: http://{手机的ip地址}:8080/deleteSandbox?id=1 - 参数: - `id`:沙盒id 返回结果示例 ``` { "code": 0, "result": "成功" } ``` ## 运行软件 > 运行软件之前, 必须先启动沙盒 - url: http://{手机的ip地址}:8080/runApp?pkg=com.finalwire.aida64 - 参数: - `pkg`: 启动软件的包名 返回结果示例 ``` { "code": 0, "result": "成功" } ``` ## 开/关启飞行模式 > 飞行模式会断网, 在网络恢复之前都无法被调用api - url: http://{手机的ip地址}:8080/onOffirplaneMode - 参数: 无 返回结果示例 ``` { "code": 0, "result": "成功 需要等待网络重新连接才能继续执行api" } ``` ## 查询公网ip信息 - url: http://{手机的ip地址}:8080/ip - 参数: 无 返回结果示例 ``` { "code": 0, "result": { "city": "合肥市", "district": "", "id": 1519492, "ip": "114.98.150.141", "lat": 31.871094, "lng": 117.277272, "nation": "中国", "province": "安徽省", "updateTime": "2020-04-18 23:50:03" } } ``` ## 连接vpn > 需要先在工具箱中配置vpn账号密码 - url: http://{手机的ip地址}:8080/connectVpn - 参数: 无 返回结果示例 ``` { "code": 0, "result": "正在后台连接中" } ``` ## 断开vpn,会中断网络 - url: http://{手机的ip地址}:8080/disconnectVpn - 参数: 无 返回结果示例 ``` { "code": 0, "result": "断开成功" } ``` ## 重新连接vpn > 会先断开vpn然后再连接 - url: http://{手机的ip地址}:8080/reconnectVpn - 参数: 无 返回结果示例 ``` { "code": 0, "result": "正在后台重新连接中" } ``` ## 获取沙盒具体数据 沙盒的每一项参数都可以独立获取 具体api请打开沙盒界面, `配置参数` > `xx参数` > `api` > `获取值` ![](media/15872212289786/15872314657012.jpg) ## 设置沙盒具体数据 沙盒的每一项参数都可以独立设置,设置完成后即可生效, 无需重启沙盒 具体api请打开沙盒界面, `配置参数` > `xx参数` > `api` > `设置值` ![](media/15872212289786/15872315433282.jpg)
评论已关闭