简单的Acfun自动签到

written on Sat 30 April 2016 by

acfun

1.概述

Acfun有一个签到机制,每天签到可以领取经验和香蕉。之前在玩supervisor,celerybeat和rabbitmq的时候搞了一个自动签到的定时任务,但是由于服务器的原因,每天都会出问题。而且前段时间,那台服务器也到期了,所以现在有必要再搞一个简单的自动签到任务了。:)

2. 签到

为了简便,这里就不使用Python了。直接curl搞定吧!上代码:

curl --cookie-jar cookies -d "username=name&password=passwd" https://www.acfun.tv/login.aspx && echo
curl --cookie cookies -d "channel=0&date=`date +%s`000" https://www.acfun.tv/webapi/record/actions/signin && echo

简单说明一下, A站签到要求先登录,所以我们脚本的第一步使用自己的账户密码登录并且把cookie存放在本地文件中。然后第二步直接读取cookie完成签到。其实问题就在于签到请求需要带有date参数,它其实是JavaScript的时间戳。将上述代码保存为 checkin.sh 就基本上完成了代码部分。是不是很简单?

3. 自动化

使用linux的crontab来完成定时任务。在*nix下为当前用户添加一个crontab任务吧。

  1. 开始编辑 crontab -e
  2. 添加一行 0 1 * * * sh /path/to/checkin.sh > /path/to/checkin.log
  3. 保存退出

这样就会在每天一点的时候执行一次签到。:)

4. 结束

哎,感觉好水啊!

This entry was tagged on #contab, #curl and #shell

comments powered by Disqus
 

Tags