【HTTP】百度贴吧WEB版签到流程分析


流程图

在这里插入图片描述


接口抓包与分析

获取二维码

获取二维码接口

Url:https://passport.baidu.com/v2/api/getqrcode
请求方式:Get
请求参数:lp=pc
虽然抓包发现有很多参数,但是经过实际测试发现只需要传lp这一个就可以了,后续接口不再做说明
返回结果:
{
“imgurl”:“passport.baidu.com/v2/api/qrcode?sign=2deb6e1fe648e5eeb2257ea5f582c566&lp=pc”,
“errno”:0,
“sign”:“2deb6e1fe648e5eeb2257ea5f582c566”,
“prompt”:“登录后威马将获得百度帐号的公开信息(用户名、头像)”
}


轮询扫码结果

轮询扫码结果图片

Url:https://passport.baidu.com/channel/unicast
Method:Get
参数:channel_id(获取二维码接口返回结果中的sign),callback(建议传空)
callback参数是用于前端跨域时使用的
返回结果:callback({“errno”:1}) 未扫码时的返回结果
callback({“errno”:0,“channel_v”:"{“status”:1}"}) 扫码后没确认登陆的返回结果
callback({“errno”:0,“channel_v”:"{“status”:0,“v”:“8b8efbbd9fd2c82ff14487189877e0c0”,“u”:null}"}) 确认登陆的返回结果
这里的callback就是传参时callback的值,所以我才建议传空


获取Cookie

获取cookie

Url:https://passport.baidu.com/v3/login/main/qrbdusslogin
Method:Get
请求参数:bduss 上面扫码结果中的v
返回结果:不在意返回结果

这一步关键是要保存好返回的cookie


获取关注的吧

获取关注的吧

Url:http://tieba.baidu.com/f/like/mylike
Method:Get
请求参数:pn(页码)
返回结果:关注的吧

这一步需要携带上方登陆接口的cookie请求,然后从返回的html中去解析出关注的吧的名称,只需要名称即可,因为签到接口的关键参数就是名称。


贴吧签到

没图了,直接写接口吧。

Url:https://tieba.baidu.com/sign/add
Method:Post
请求参数:ie=utf-8、kw(要签到的吧的名称,中文,没错!)
返回结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

按照流程图基本可以很简单的就完成一个签到的脚本,唯一不好的地方是由于是扫码登录,所以不能做到完全自动。其实也可以去抓账号密码登录的接口的,但是发现会出现一个旋转验证码,那个不好绕过,因此退而求其次选择了扫码登录。其实只要登录了一次,cookie的过期时间非常长的。

另外获取关注的吧这里,其实一般来说只要获取一次就好了,后期如果新增了某些关注的吧,可以自己手动添加,因为大家也看到了,签到接口只需要贴吧的名称就可以了。(居然可以用名称签到,我一直以为使用id之类的)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值