V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jianghu52
V2EX  ›  问与答

写 [smzdm] 签到脚本遇到的问题

  •  
  •   jianghu52 · 2014-11-22 11:39:51 +08:00 · 4563 次点击
    这是一个创建于 3654 天前的主题,其中的信息可能已经有所发展或是发生改变。
    smzdm和 v2ex是我每天比签到的两个网站。前几天写天猫的签到ok了,于是开始得瑟的写smzdm的。
    抓包得到的url是这样的:
    http://www.smzdm.com/user/login/jsonp_check?callback=jQuery1110043558268272317946_1416627139810&user_login=用户邮箱&user_pass=用户密码&rememberme=1&is_third=&is_pop=1&captcha=&_=1416627139812

    他的callback 值一直在变,最后的captcha参数也不固定。不知道遇到这样的url的时候,怎么写脚本,求高人指点。
    11 条回复    2014-11-23 15:11:19 +08:00
    abelyao
        1
    abelyao  
       2014-11-22 11:52:52 +08:00
    从上级页面抓取 URL 再去签到,就跟 v2ex 的 once code 一样
    jianghu52
        2
    jianghu52  
    OP
       2014-11-22 12:10:38 +08:00
    @abelyao 能求一个代码例子么。不是python的也行。php的,或者js都行。我不太懂网络这块儿。所以不太明白什么叫做上级页面。
    wuhx
        3
    wuhx  
       2014-11-22 13:02:10 +08:00
    以前也写过一个,用的是scala+selenium,先用chrome的webdriver驱动模拟浏览器点击登录,调试好了换GhostDriver+PhantomJs放linux上跑

    好处是不用管那些乱七八糟的参数
    ine181x
        4
    ine181x  
       2014-11-22 13:42:41 +08:00
    callback=jQuery.... 是JSONP的跨域请求 不管你写什么 服务器端会把这个值作为回调的函数名来调用的 所以和怎么变无关
    isayme
        5
    isayme  
       2014-11-22 22:51:08 +08:00 via Android   ❤️ 1
    刚实现了一个,用cookie验证的。
    https://gist.github.com/isayme/5efc1bf611da29a3121c
    isayme
        6
    isayme  
       2014-11-23 09:51:43 +08:00   ❤️ 1
    @Livid 嵌入gist时, 如果gist网站被墙, 就不会显示任何东西, 建议嵌入失败时把gist网址显示出来.

    @jianghu52 有兴趣的话可以看看我的cookie版本, 有了cookie就一个url请求就可以了~ https://gist.github.com/isayme
    jianghu52
        7
    jianghu52  
    OP
       2014-11-23 11:33:58 +08:00
    @isayme 非常感谢。我看懂你的意思了。就是直接带cookie访问签到页。但是这么写有个小问题,就是登陆这件事还是要人手动做的。我想的是把这个文件放到sae上,这样的话还是需要模拟登陆一下,请问这个模拟登陆要怎么写呢?
    isayme
        8
    isayme  
       2014-11-23 13:00:29 +08:00
    @jianghu52 事先登录一次拿到cookie就可以啦 如果非要模拟登录, 那就模拟一个登录post请求就行了.
    jianghu52
        9
    jianghu52  
    OP
       2014-11-23 13:08:38 +08:00
    @isayme 我就卡在了模拟登陆上,我不太清楚post的url是什么。
    isayme
        10
    isayme  
       2014-11-23 14:32:49 +08:00
    @jianghu52 浏览器F12打开开发者工具, 登陆下看看就知道了吧
    jianghu52
        11
    jianghu52  
    OP
       2014-11-23 15:11:19 +08:00
    @isayme 我在微博上给你发了封私信,方便的话请看一下。谢谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1113 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:50 · PVG 07:50 · LAX 15:50 · JFK 18:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.