美文网首页程序员
智联招聘企业账号自动化登录

智联招聘企业账号自动化登录

作者: 古月白毛小狐狸 | 来源:发表于2016-12-31 15:10 被阅读0次

    准备材料


    • 智联企业端账号
    • 打码兔平台账号

    验证码


    按顺序点击文字类型的验证码

    通过抓包获取

    Request URL:https://passport.zhaopin.com/chk/getcap?t1483158691059
    Request Method:GET
    Status Code:200 OK
    Remote Address:59.151.5.6:443
    

    注意:Request header需要传入Referer

    Referer:https://passport.zhaopin.com/org/login
    

    获得验证码原始图片

    原始的错乱的验证码图片

    还原验证码

    审查网页元素

    原理很简单,原始的乱序验证码图片作为背景图,然后根据相应的坐标重新拼成一张肉眼可以看懂的验证码图。
    还原的坐标是固定的,就算以后变了,也可以通过解析网页重新获取。

    还原后的验证码

    原始乱序验证码 还原后的验证码

    注意:还原后的验证码最下方有提示文字,所以打码的时候,只需要将还原后的验证码图发送给打码平台即可,并且不会影响点击的坐标

    对接打码平台

    打码平台

    http://www.dama2.com

    选择合适的打码类型

    287 (鼠标坐标多选题.返回格式:x1,y1|x2,y2|x3,y3)
    题分15 (普通4位数字的题分为10,所以不算贵)
    http://wiki.dama2.com/index.php?n=ApiDoc.Pricedesc

    获取打码结果

    218,69|127,89|47,95

    验证验证码

    抓包获取验证验证码的请求

    Request URL:https://passport.zhaopin.com/chk/verify?callback=jsonpCallback
    Request Method:POST
    Status Code:200 OK
    Remote Address:59.151.5.5:443
    
    Form data:
    p:37,96;69,82;252,82
    time:1483166711484
    

    注意:
    p是打码坐标,记得把|替换成;
    time是时间戳

    验证通过的response

    jsonpCallback({MessageText:"57afe00208a3448dae057bd57c37e053"})
    

    注意:

    • 打码兔背后也是人肉操作,不能确保100%打码成功。
    • 经过测试发现90%正确率还是有的。
    • 需要检查response的MessageText,如果为空表示验证失败,需要重新获取验证码后进行打码

    自动登录

    抓取智联招聘企业端登录的请求包

    Request URL:https://passport.zhaopin.com/org/login
    Request Method:POST
    Status Code:200 OK
    Remote Address:59.151.5.5:443
    
    Form Data:
    bkurl:
    LoginName:r*******8
    Password:m*******6
    CheckCode:57afe00208a3448dae057bd57c37e053
    IsServiceCheck:true
    IsServiceCheck:false
    servicecheckinput:已勾选
    

    CheckCode就是验证验证码response里面的MessageText
    这里比较坑爹的一点是有两个IsServiceCheck,请无视IsServiceCheck:false,否则会登录错误

    登录后跳转

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>正在跳转</title>
        // ...
        <script type="text/javascript">
                // ...
                window.location.href = "http://rd2.zhaopin.com/s/loginmgr/loginproc_new.asp?t=636187922028987902";
            })
        </script>
    </head>
    <body>
        <div id="loading" style="float:left;margin:15px; height:100px; width:100px;"></div>
    </body>
    </html>
    

    正常情况下,登录后就能访问受保护页面了,但智联招聘这货还要再摆你一道,在login请求完成后会拿到一个跳转页面,需要解析出一个跳转地址(当然不解析也没关系,这个跳转地址是固定的)

    window.location.href = "http://rd2.zhaopin.com/s/loginmgr/loginproc_new.asp?t=636187922028987902";

    访问这个跳转地址就大功告成了!
    
    #### 获取简历
    
    

    GET http://rd2.zhaopin.com/RdApply/Resumes/Apply/index

    
    #### 技术参考
    
    - Programming Language: `Python`
    - HTTP Library: `Requests`
    - Image Library: `pillow`
    >http://pillow.readthedocs.io/en/3.4.x/handbook/tutorial.html
    >Cutting, pasting, and merging images

    相关文章

      网友评论

        本文标题:智联招聘企业账号自动化登录

        本文链接:https://www.haomeiwen.com/subject/cmivvttx.html