跳到主要内容

HTTP协议

本章节课程目录:

一:HTTP基础

1.1、HTTP概念介绍

1.2、HTTP消息结构

1.3、HTTP报文详解

1.4、HTTP请求方法

1.5、HTTP状态码

二:API接口设计

2.1、API接口简介

2.2、API接口设计

三:fiddler抓包工具使用教程

3.1、fiddler简介

3.2、fiddler安装设置

3.3、fiddler抓包:http请求

3.4、fiddler抓包:https

3.5、fiddler抓包:APP

四:autojs协议实战:对接打码平台

4.1、对接超人打码平台

4.2、超人云识别HTTP接口文档

五:autojs协议实战:攒攒协议开发教程

5.1、攒攒安卓协议登录

5.2、攒攒网页协议登录

5.3、攒攒协议:抖音首次签到任务

5.4、攒攒协议:抖音首次签到任务提交截图

5.5、攒攒协议:完成抖音首次签到任务

5.6、攒攒协议:获取抖音援助任务

5.7、攒攒协议:完成抖音援助任务

5.8、攒攒协议:完整抖音任务开发(一)--获取抖音控件坐标

5.9、攒攒协议:完整抖音任务开发(二)--抖音自动点赞、自动关注、自动评论功能开发

5.10、攒攒协议:完整抖音任务开发(三)--请求截图权限、获取token

5.11、攒攒协议:完整抖音任务开发(四)--判断是否签到

5.12、攒攒协议:完整抖音任务开发(五)--获取抖音任务函数封装

5.13、攒攒协议:完整抖音任务开发(六)--获取抖音任务图片上传参数

5.14、攒攒协议:完整抖音任务开发(七)--完成抖音援助任务并截图保存

六:对接图片验证码平台

1、熟悉对接打码平台流程

2、对接第一个API接口

3、根据demo案例进行代码优化

4、对接验证码识别API接口

5、Autojs调用识别验证码接口完整流程

6、封装识别验证码函数

提示:点击上面课程标题即可跳转至视频教程

一、HTTP基础

1、概念介绍

本课视频

  • HTTP协议(Hyper Text Transfer Protocol,超文本传输协议)
  • 基于TCP/IP通信协议来传递数据
  • 工作原理

软件:模拟客户端发送数据到服务器

脚本:充当发送数据的客户端

  • HTTP默认端口号为80,但是你也可以改为8080或者其他端口。

2、消息结构

本课视频

  • HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。

单词:request response

  • 客户端请求消息

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:

  • 请求行(request line)

  • 请求头部(header)

  • 空行

  • 请求数据

四个部分组成

GET https://www.baidu.com/ HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6
Cookie: BIDUPSID=0295BBFFC7434D5A2B537B3E1DCF0A73; PSTM=1585981911; BAIDUID=0295BBFFC7434D5A80FB7C4D234261B1:SL=0:NR=10:FG=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; sug=0; sugstore=0; ORIGIN=0; bdime=0; BD_UPN=12314753; UM_distinctid=172aceefd32434-07315fe1f03cd6-f7d123e-1fa400-172aceefd33730; CNZZDATA1272960286=518833385-1592035240-%7C1592178137; COOKIE_SESSION=54210_0_9_9_51_3_1_0_9_3_3350_3_54150_0_2_0_1592178411_0_1592178409%7C9%230_0_1592178409%7C1; BD_HOME=1; H_PS_PSSID=1450_31326_21109_32046_31322_30823_26350_22160; Hm_lvt_addc40d255fca71b9b06a07c2397b42a=1592127867,1592128879,1592178401,1592179436; delPer=0; BD_CK_SAM=1; PSINO=1; H_PS_645EC=8313RYyW2H4EzaORfAa0U8bwmk5VuFvOkp%2BSZNTqMg%2BMBDSuNOqMkjlvLy4; BDSVRTM=0; Hm_lpvt_addc40d255fca71b9b06a07c2397b42a=1592179672
  • 服务器响应信息

HTTP响应也由四个部分组成,分别是:

  • 响应行
  • 消息报头
  • 空行
  • 响应正文
HTTP/1.1 200 OK
Bdpagetype: 1
Bdqid: 0xb867f32700718b16
Cache-Control: private
Connection: keep-alive
Content-Type: text/html;charset=utf-8
Date: Mon, 15 Jun 2020 00:10:50 GMT
Expires: Mon, 15 Jun 2020 00:10:48 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=1450_31326_21109_32046_31322_30823_26350_22160; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1592179850063549517813287856574416653078
X-Ua-Compatible: IE=Edge,chrome=1
Content-Length: 248402

<!DOCTYPE html><!--STATUS OK-->
.....

3、请求方法

本课视频

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

方法描述
GET请求指定的页面信息,并返回实体主体。
POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。

4、报文详解

本课视频

5、状态码

本课视频

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。

HTTP状态码的英文为HTTP Status Code。

下面是常见的HTTP状态码:

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

二、API接口

1、API接口简介

本课视频

  • 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。

  • API与用户的通信协议,总是使用HTTPs协议

2、API接口设计

本课视频

1、域名

应该尽量将API部署在专用域名之下。

https://api.example.com

https://example.org/api/

2、版本号

应该将API的版本号放入URL。

https://api.example.com/v2/

3、路径

路径又称"终点"(endpoint),表示API的具体网址。

在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。

举例来说,有一个API提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。

4、HTTP请求方法

常用的HTTP动词有下面五个(括号里是对应的SQL命令)。

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  • DELETE(DELETE):从服务器删除资源。

还有两个不常用的HTTP动词。

  • HEAD:获取资源的元数据。
  • OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。

下面是一些例子。

  • GET /zoos:列出所有动物园
  • POST /zoos:新建一个动物园
  • GET /zoos/ID:获取某个指定动物园的信息
  • PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
  • PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
  • DELETE /zoos/ID:删除某个动物园
  • GET /zoos/ID/animals:列出某个指定动物园的所有动物
  • DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

5、过滤信息

如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。

下面是一些常见的参数。

  • ?limit=10:指定返回记录的数量
  • ?offset=10:指定返回记录的开始位置。
  • ?page=2&per_page=100:指定第几页,以及每页的记录数。
  • ?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。
  • ?animal_type_id=1:指定筛选条件

参数的设计允许存在冗余,即允许API路径和URL参数偶尔有重复。比如,GET /zoo/ID/animals 与 GET /animals?zoo_id=ID 的含义是相同的。

6、状态码

服务器向用户返回的状态码和提示信息,常见的有以下一些

  • 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
  • 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
  • 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
  • 204 NO CONTENT - [DELETE]:用户删除数据成功。
  • 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
  • 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
  • 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
  • 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
  • 406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
  • 410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
  • 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
  • 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。

7、错误处理

如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。

{
error: "Invalid API key"
}

三、Fiddler抓包工具

1、fiddler简介

本课视频

Fiddler是一个http调试代理,它能够记录所有的你电脑和互联网之间的http通讯

Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。

Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。

Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性,可以支持众多的http调试任务。

Fiddler 是用C#写出来的。

2、fiddler安装设置

本课视频

3、fiddler抓包:http

本课视频

4、fiddler抓包:https

本课视频

  • from all processes:抓取所有进程的流量

  • from browsers only:只抓取浏览器的流量

  • from non-browsers only:不抓取浏览器的流量

  • from remote clients only:抓取远程的客户端,当需要抓取的是手机端的流量,就需要用到这个

  • Allow remote computers to connect 是允许远程的客户端进行连接

5、fiddler抓包:APP

本课视频


四、对接打码平台

1、对接超人打码平台

本课视频

2、超人云识别HTTP接口文档

本课视频


五、攒攒协议开发教程

1、攒攒安卓协议登录

本课视频

POST http://zcore.zqzan.com/app/account/raw/login HTTP/1.1
Token:
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAALf8VmkAQAEAG4HTnXd0gMJUmJDA
Content-Length: 38

username=13180569395&loginpw=aaattt123

2、攒攒网页协议登录

本课视频

POST http://zcore.zqzan.com/app/account/raw/login HTTP/1.1
Host: zcore.zqzan.com
Connection: keep-alive
Content-Length: 38
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
Token:
Content-Type: application/x-www-form-urlencoded
Accept: */*
Origin: http://app.zqzan.com
Referer: http://app.zqzan.com/pages/login/login
Accept-Encoding: gzip, deflate
Accept-Language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6

username=13180569395&loginpw=aaattt123

3、攒攒协议:抖音首次签到任务

本课视频

POST http://zcore.zqzan.com/app/douyin/mine/my/info HTTP/1.1
Token: c5e57ad2-7a90-4ee6-8b74-17c81b864646
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAADUwB3uXLgsAG4HTncRTKMZ/rg3O
Content-Length: 0


任务状态

//签到任务未完成
{"code":0,"msg":"ćä˝ćĺ","data":{"sign_douyin_sample":"https://zqzan.oss-cn-shanghai.aliyuncs.com/sample/dy_sign.jpg@!fwidth","dyin_status":0}}

//开始考试
{"code":0,"msg":"操作成功","data":{"exam_douyin":10,"dyin_status":3}}

//首次签到提交完成
{"code":0,"msg":"操作成功","data":{"sign_douyin_sample":"https://zqzan.oss-cn-shanghai.aliyuncs.com/sample/dy_sign.jpg@!fwidth","dyin_status":2}}

//开始援助
{"code":0,"msg":"操作成功","data":{"exam_dycomment":3,"access":63,"wallet":80,"exam_douyin":13,"dyin_dataid":"64129762480","dyin_status":3,"today_count":0,"is_signed":true,"recent_count":"-"}}


POST http://zcore.zqzan.com/app/oss/sign_img HTTP/1.1
Token: c5e57ad2-7a90-4ee6-8b74-17c81b864646
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAADUwB3uXLgsAG4HTncRTKMZ/rg3O
Content-Length: 0
{"code":0,"msg":"ćä˝ćĺ","data":{"accessid":"LTAI4FwVNMW9yHsSHKW5mW3T","signature":"+U75yMlruGmpeLrw6xMNKRc6Mrs=","prefix":"1268807849981091841_","expire":"1592374377629","host":"https://yun.zqzan.com","format":"@!fwidth","dir":"sign/06_17/","policy":"eyJleHBpcmF0aW9uIjoiMjAyMC0wNi0xN1QwNjoxNjowMC4wMDBaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5Iiwic2lnbi8wNl8xNy8iXV19"}}

4、攒攒协议:抖音首次签到任务提交截图

本课视频

https://v.douyin.com/JRMQTWA/
POST https://yun.zqzan.com/ HTTP/1.1
Connection: Keep-Alive
Charset: UTF-8
Content-Type: multipart/form-data; boundary=------l4No7Q
User-Agent: Dalvik/2.1.0 (Linux; U; Android 9; Redmi Note 8 MIUI/V11.0.6.0.PCOCNXM)
Host: yun.zqzan.com
Accept-Encoding: gzip
Content-Length: 84117

--------l4No7Q
Content-Disposition: form-data; name="key"

sign/06_17//1268807849981091841_159238480510682.png
--------l4No7Q
Content-Disposition: form-data; name="policy"

eyJleHBpcmF0aW9uIjoiMjAyMC0wNi0xN1QwOToyMjowMC4wMjNaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5Iiwic2lnbi8wNl8xNy8iXV19
--------l4No7Q
Content-Disposition: form-data; name="OSSAccessKeyId"

LTAI4FwVNMW9yHsSHKW5mW3T
--------l4No7Q
Content-Disposition: form-data; name="signature"

ho5m8OOgJQdlXeHCCTYFjBlCOvA=
--------l4No7Q
Content-Disposition: form-data; name="success_action_status"

200
--------l4No7Q
Content-Disposition: form-data; name="file"; filename="1592384804817.ss.android.ugc.aweme.jpg"
Content-Type: image/jpeg
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Wed, 17 Jun 2020 09:06:47 GMT
Content-Length: 0
Connection: keep-alive
x-oss-request-id: 5EE9DD278DA7CA3136DBF2CE
ETag: "6BE01D0F07979521C28482400AB68CF4"
x-oss-hash-crc64ecma: 1869845050989223007
Content-MD5: a+AdDweXlSHChIJACraM9A==
x-oss-server-time: 19

5、攒攒协议:完成抖音首次签到任务

本课视频

POST http://zcore.zqzan.com/app/douyin/do/oauth HTTP/1.1
Token: 525d0891-5148-44a8-a4fa-2992e5a5d8d1
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAAMWIrRkSqwwAG4HTnWjyBE0vi9ge
Content-Length: 156

shot_img=https%3A%2F%2Fyun.zqzan.com%2Fsign%2F06_17%2F%2F1268807849981091841_159238480510682.png%40!fwidth&short_url=https%3A%2F%2Fv.douyin.com%2FJRMQTWA%2F


shot_img=https://yun.zqzan.com/sign/06_17//1268807849981091841_159238480510682.png@!fwidth

short_url=https://v.douyin.com/JRMQTWA/
{"code":0,"msg":"操作成功","data":{}}

6、攒攒协议:获取抖音援助任务

本课视频

POST http://zcore.zqzan.com/app/douyin/pull/one HTTP/1.1
Token: 7eacb6f8-c4b1-4fbe-9676-1a8d4db86073
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAAJNFiRvoOQQAG4HTneafLo5d/4LH
Content-Length: 39

//勾选点赞
b_discount=false&access=1&exam_status=0

//勾选关注
b_discount=false&access=2&exam_status=0

//勾选评论
b_discount=false&access=4&exam_status=0

//勾选转发
b_discount=false&access=8&exam_status=0

//勾选播放
b_discount=false&access=32&exam_status=0

//勾选评论赞
b_discount=false&access=16&exam_status=0

b_discount=false&access=17&exam_status=0
b_discount=false&access=40&exam_status=0


//勾选特价
b_discount=true&access=40&exam_status=0
//响应信息
{"code":0,"msg":"操作成功","data":{"aweme_id":"6840241090453310731","sample_img":"https://zqzan.oss-cn-shanghai.aliyuncs.com/sample/dy_forward.jpg@!fwidth","b_discount":false,"anchor_id":"61600511795","id":"1274597958634446849","type":8,"earning":12}}

{"code":0,"msg":"操作成功","data":{"aweme_id":"6830032938424421632","sample_img":"https://zqzan.oss-cn-shanghai.aliyuncs.com/sample/dy_forward.jpg@!fwidth","b_discount":false,"anchor_id":"69378478724","id":"1274603842299240450","type":8,"earning":12}}


{ code: 0, msg: '操作成功', data: { aweme_id: '6840402371030404359', sample_img: 'https://zqzan.oss-cn-shanghai.aliyuncs.com/sample/dy_comment.jpg@!fwidth', b_discount: false, anchor_id: '111559207354', id: '1274600283743059969', type: 4, earning: 50 } }

提交援助图片参数

POST http://zcore.zqzan.com/app/oss/shot_img HTTP/1.1
Token: 7eacb6f8-c4b1-4fbe-9676-1a8d4db86073
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAALjz10WO+gMAG4HTnViQ4XDDVduD
Content-Length: 0



//响应信息

{"code":0,"msg":"操作成功","data":{"accessid":"LTAI4FwVNMW9yHsSHKW5mW3T","signature":"Nh/VE5NPlF/m+ubupV/KNzfDaFo=","prefix":"1268807849981091841_","expire":"1592723859102","host":"https://yun.zqzan.com","format":"@!fwidth","dir":"app/06_21/","policy":"eyJleHBpcmF0aW9uIjoiMjAyMC0wNi0yMVQwNzoyMjowMC4wMDBaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5IiwiYXBwLzA2XzIxLyJdXX0="}}

7、攒攒协议:完成抖音援助任务

本课视频

//获取任务信息

{"code":0,"msg":"操作成功","data":{"aweme_id":"6838454935365881095","sample_img":"https://zqzan.oss-cn-shanghai.aliyuncs.com/sample/dy_followd.jpg@!fwidth","b_discount":false,"anchor_id":"4265743143675532","id":"1274622765099253761","type":2,"earning":50}}


图片提交参数

{"code":0,"msg":"操作成功","data":{"accessid":"LTAI4FwVNMW9yHsSHKW5mW3T","signature":"wT3SAGXslHhZb8vwNO7SMQu0MEw=","prefix":"1268807849981091841_","expire":"1592729623306","host":"https://yun.zqzan.com","format":"@!fwidth","dir":"app/06_21/","policy":"eyJleHBpcmF0aW9uIjoiMjAyMC0wNi0yMVQwODo1ODowMC4wMDBaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5IiwiYXBwLzA2XzIxLyJdXX0="}}
POST https://yun.zqzan.com/ HTTP/1.1
Connection: Keep-Alive
Charset: UTF-8
Content-Type: multipart/form-data; boundary=------Pq8St2
User-Agent: Dalvik/2.1.0 (Linux; U; Android 9; Redmi Note 8 MIUI/V11.0.6.0.PCOCNXM)
Host: yun.zqzan.com
Accept-Encoding: gzip
Content-Length: 151430

--------Pq8St2
Content-Disposition: form-data; name="key"

app/06_21//1268807849981091841_159272916969942.png
--------Pq8St2
Content-Disposition: form-data; name="policy"

eyJleHBpcmF0aW9uIjoiMjAyMC0wNi0yMVQwODo1ODowMC4wMDBaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5IiwiYXBwLzA2XzIxLyJdXX0=
--------Pq8St2
Content-Disposition: form-data; name="OSSAccessKeyId"

LTAI4FwVNMW9yHsSHKW5mW3T
--------Pq8St2
Content-Disposition: form-data; name="signature"

wT3SAGXslHhZb8vwNO7SMQu0MEw=
--------Pq8St2
Content-Disposition: form-data; name="success_action_status"

200
--------Pq8St2
Content-Disposition: form-data; name="file"; filename="1592729169287.ss.android.ugc.aweme.jpg"
Content-Type: image/jpeg

Exif MM
//点击提交

POST http://zcore.zqzan.com/app/douyin/submit/task HTTP/1.1
Token: ed25eaf0-04d8-4b5e-92de-7f0733b8581a
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAAIqD9EeRTwwAG4HTnT1d3yzrZIQ8
Content-Length: 133

doit_id=1274627715765903362&shot_img=https%3A%2F%2Fyun.zqzan.com%2Fapp%2F06_21%2F%2F1268807849981091841_159272990813834.png%40!fwidth

//返回的信息
{"code":0,"msg":"操作成功","data":{}}

8、攒攒协议:完整抖音任务开发(一)--获取抖音控件坐标

本课视频

  1. 获取抖音控件坐标
  2. 抖音自动点赞功能开发
  3. 抖音自动关注功能开发
  4. 抖音自动评论功能开发
  5. 请求截图
  6. 获取token
  7. 判断是否签到
  8. 如果未签到则签到
  9. 如果已签到则获取并完成任务

9、攒攒协议:完整抖音任务开发(二)--抖音自动点赞、自动关注、自动评论功能开发

本课视频

10、攒攒协议:完整抖音任务开发(三)--请求截图权限、获取token

本课视频

11、攒攒协议:完整抖音任务开发(四)--判断是否签到

本课视频

12、攒攒协议:完整抖音任务开发(五)--获取抖音任务函数封装

本课视频

13、攒攒协议:完整抖音任务开发(六)--获取抖音任务图片上传参数

本课视频

//图片上传参数

POST http://zcore.zqzan.com/app/oss/shot_img HTTP/1.1
Token: 3456c83e-a9ed-4c60-abe6-18ddd7168b7c
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAAPRCMUNY3QkAG4HSjdWH+a4DkyJf
Content-Length: 0

{"code":0,"msg":"操作成功","data":{"accessid":"LTAI4FwVNMW9yHsSHKW5mW3T","signature":"Mo6Hm1rR6FacCxREq2NM3bydCvo=","prefix":"1268807849981091841_","expire":"1593249949356","host":"https://yun.zqzan.com","format":"@!fwidth","dir":"app/06_27/","policy":"eyJleHBpcmF0aW9uIjoiMjAyMC0wNi0yN1QwOTozMDowMC4wMDBaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5IiwiYXBwLzA2XzI3LyJdXX0="}}

//上传图片

POST https://yun.zqzan.com/ HTTP/1.1
Connection: Keep-Alive
Charset: UTF-8
Content-Type: multipart/form-data; boundary=------8Jk2Mn
User-Agent: Dalvik/2.1.0 (Linux; U; Android 9; Redmi Note 8 MIUI/V11.0.6.0.PCOCNXM)
Host: yun.zqzan.com
Accept-Encoding: gzip
Content-Length: 128026

--------8Jk2Mn
Content-Disposition: form-data; name="key"

app/06_27//1268807849981091841_159324919250076.png
--------8Jk2Mn
Content-Disposition: form-data; name="policy"

eyJleHBpcmF0aW9uIjoiMjAyMC0wNi0yN1QwOTozMDowMC4wMDBaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5IiwiYXBwLzA2XzI3LyJdXX0=
--------8Jk2Mn
Content-Disposition: form-data; name="OSSAccessKeyId"

LTAI4FwVNMW9yHsSHKW5mW3T
--------8Jk2Mn
Content-Disposition: form-data; name="signature"

Mo6Hm1rR6FacCxREq2NM3bydCvo=
--------8Jk2Mn
Content-Disposition: form-data; name="success_action_status"

200
--------8Jk2Mn
Content-Disposition: form-data; name="file"; filename="1593249192260.ss.android.ugc.aweme.jpg"
Content-Type: image/jpeg

14、攒攒协议:完整抖音任务开发(七)--完成抖音援助任务并截图保存

本课视频

{"code":0,"msg":"操作成功","data":{"accessid":"LTAI4FwVNMW9yHsSHKW5mW3T","signature":"8fzIPSgf++9nAS6i3eab238z0Zs=","prefix":"1268807849981091841_","expire":"1596844685895","host":"https://yun.zqzan.com","format":"@!fwidth","dir":"app/08_08/","policy":"eyJleHBpcmF0aW9uIjoiMjAyMC0wOC0wOFQwMDowMjowMC4wMjlaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5IiwiYXBwLzA4XzA4LyJdXX0="}}

POST https://yun.zqzan.com/ HTTP/1.1
Connection: Keep-Alive
Charset: UTF-8
Content-Type: multipart/form-data; boundary=------Rs1Uv4
User-Agent: Dalvik/2.1.0 (Linux; U; Android 9; Redmi Note 8 MIUI/V11.0.7.0.PCOCNXM)
Host: yun.zqzan.com
Accept-Encoding: gzip
Content-Length: 123191

--------Rs1Uv4
Content-Disposition: form-data; name="key"

app/08_08//1268807849981091841_159684386042016.png
--------Rs1Uv4
Content-Disposition: form-data; name="policy"

eyJleHBpcmF0aW9uIjoiMjAyMC0wOC0wOFQwMDowMjowMC4wMjlaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMzE0NTcyODBdLFsic3RhcnRzLXdpdGgiLCIka2V5IiwiYXBwLzA4XzA4LyJdXX0=
--------Rs1Uv4
Content-Disposition: form-data; name="OSSAccessKeyId"

LTAI4FwVNMW9yHsSHKW5mW3T
--------Rs1Uv4
Content-Disposition: form-data; name="signature"

8fzIPSgf++9nAS6i3eab238z0Zs=
--------Rs1Uv4
Content-Disposition: form-data; name="success_action_status"

200
--------Rs1Uv4
Content-Disposition: form-data; name="file"; filename="1596843860038.ss.android.ugc.aweme.jpg"
Content-Type: image/jpeg


--------Rs1Uv4--
POST http://zcore.zqzan.com/app/douyin/submit/task HTTP/1.1
Token: ce18ae97-2a03-47d0-b37c-5604e7e2203f
Content-Type: application/x-www-form-urlencoded
user-agent: Redmi Note 8(Android/9) (com.zanqzan.app/1.2.21) Weex/0.26.0 1080x2130
Host: zcore.zqzan.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: sec_tc=AQAAAE9jKl6vegYAG4HRMfQRYy03htvJ
Content-Length: 133

doit_id=1291882588513361922&shot_img=https%3A%2F%2Fyun.zqzan.com%2Fapp%2F08_08%2F%2F1268807849981091841_159684386042016.png%40!fwidth

六、对接图片验证码平台

1、熟悉对接打码平台流程

本课视频

2、对接第一个API接口

本课视频

3、根据demo案例进行代码优化

本课视频

4、对接验证码识别API接口

本课视频

5、Autojs调用识别验证码接口完整流程

本课视频

6、封装识别验证码函数

本课视频