百度墨斗鱼文库创作中心上传验证码分析

之前发表过一篇,百度墨斗鱼后台上传文章分析的文章。时隔几个月,文件预览接口加了asc-

token 和 验证码(百度v2)。闲来没事分析一下。所有的分析都基于协议,不基于web自动化。

验证码目前有四种,验证码刷新重新加载可以互相切换,所以只要搞定其中一种或者多种即可,

这四种目前都能搞定,验证通过之后通过回调设置成功标识,每次上传携带成功标识即可,不用每

次都验证。需要注意的是log 接口参数 fuid 是一个获取浏览器指纹的(这块处理一下比较安全),fs

是传入加密后的验证结果的。

一,验证码

1,滑块缺口

2,单词点击

3,滑块拉绳子

4,滑块旋转

目前以搞定滑块旋转和滑块缺口为例进行分析,加载到其他类型则刷新。

关键接口如下

public interface BaiDuCaptchaService {

    /**
     * 加载验证码
     */
    LoadRes load(LoadReq req) throws Exception;

    /**
     * 初始化验证码
     */
    InitRes init(InitReq req);

    /**
     * 旋转验证码获取验证码详情 style
     */
    StyleRes spinStyle(StyleReq req);

    /**
     * 缺口滑块验证码获取验证码详情 style
     */
    StyleRes puzzleStyle(StyleReq req);

    /**
     * 转base64
     */
    String imageToBase64(String imageUrl);

    /**
     * 识别
     */
    int identify(String imageBase64, String verifyIdfId);

    /**
     * 旋转提交验证
     */
    LogRes spinLog(LogReq req) throws IOException;

    /**
     * 滑块缺口提交验证
     */
    LogRes puzzleLog(LogReq req) throws IOException;

    /**
     * 旋转验证获取stk
     */
    StkRes spin(StkReq req, LogData logData) throws Exception;

    /**
     * 滑块缺口验证获取stk
     */
    StkRes puzzle(StkReq req, LogData logData) throws Exception;

    /**
     * 获取验证凭证 (__ymg_scsc=xxx)
     */
    String getSc(String stk) throws IOException;

}

效果如下

二,asc-token

关键方法,需要注意的是 AcsTokenParam 是定期变化的。

技术交流,主页左边微信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值