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

2014-11-22 11:39:51 +08:00
 jianghu52
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的时候,怎么写脚本,求高人指点。
4564 次点击
所在节点    问与答
11 条回复
abelyao
2014-11-22 11:52:52 +08:00
从上级页面抓取 URL 再去签到,就跟 v2ex 的 once code 一样
jianghu52
2014-11-22 12:10:38 +08:00
@abelyao 能求一个代码例子么。不是python的也行。php的,或者js都行。我不太懂网络这块儿。所以不太明白什么叫做上级页面。
wuhx
2014-11-22 13:02:10 +08:00
以前也写过一个,用的是scala+selenium,先用chrome的webdriver驱动模拟浏览器点击登录,调试好了换GhostDriver+PhantomJs放linux上跑

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

@jianghu52 有兴趣的话可以看看我的cookie版本, 有了cookie就一个url请求就可以了~ https://gist.github.com/isayme
jianghu52
2014-11-23 11:33:58 +08:00
@isayme 非常感谢。我看懂你的意思了。就是直接带cookie访问签到页。但是这么写有个小问题,就是登陆这件事还是要人手动做的。我想的是把这个文件放到sae上,这样的话还是需要模拟登陆一下,请问这个模拟登陆要怎么写呢?
isayme
2014-11-23 13:00:29 +08:00
@jianghu52 事先登录一次拿到cookie就可以啦 如果非要模拟登录, 那就模拟一个登录post请求就行了.
jianghu52
2014-11-23 13:08:38 +08:00
@isayme 我就卡在了模拟登陆上,我不太清楚post的url是什么。
isayme
2014-11-23 14:32:49 +08:00
@jianghu52 浏览器F12打开开发者工具, 登陆下看看就知道了吧
jianghu52
2014-11-23 15:11:19 +08:00
@isayme 我在微博上给你发了封私信,方便的话请看一下。谢谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/148476

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX