最近有个简单的需求,需要实现对部分网站实现自动签到,在此之前试过QianDao for Python3,但是每一个任务都要写HAR,感觉很繁琐,再加上xiaoz比较懒,于是就在寻找更简单的方案,最后发现了cron-job.org
自动签到需要满足的要求
- 支持定时发起 HTTP 请求
- 需要支持自定义请求 header
- 需要支持传递 cookie
尝试
一些HTTP监控工具可以做到自定义请求 header,比如监控宝,但监控宝是周期性重复发起HTTP 请求,不支持自定义时间,遂放弃。
于是改用shell 脚本 + crontab 实现,满足上面的所有需求点,但是添加和修改不那么方便。
那是否有一个提供可视化的WEB界面,支持自定义时间发起HTTP请求的工具呢?最后在V友的推荐下发现了cron-job.org
,满足上面3点要求。
关于cron-job.org
cron-job.org
是一个开源免费的HTTP定时任务工具,功能如下:
注册cron-job.org
注册后,邮箱验证下就能用了。免费版不限制任务数量(良心),但是和会员版有所区别,如下截图。
用cron-job.org添加一个自动签到任务
注意:以下内容涉及一定专业知识,需要对HTTP协议有所了解。
在后台:https://console.cron-job.org/jobs/create创建一个新的任务,在COMMON
那里的设置如下截图(图片可点击放大)。
切换到Advanced
,进行自定义Header,通常我们需要自定义3个header头部,如果部分网站更加严格,可能需要更多头部,自行分析HTTP抓包内容即可。
- cookie:需要登录你的目标网站后查看cookie
- referer:随便设置和目标网站一样的URL地址即可
- user-agent:建议和浏览器的User-Agent一致
最后点击底部的“TEST RUN”查看测试结果,没有问题的话点“SAVE”即可。
安全风险
上述内容我们使用了cron-job.org
提供的在线服务,会将cookie内容交给cron-job.org
,虽然cron-job.org
可能不会主动泄露,但无法保障被动泄露的可能。如果你打算用cron-job.org
自动签到,适合一些不重要的小网站,非常重要的或者涉及隐私数据的话不太推荐。
另外cron-job.org
已经在Github开源(搭建较为复杂),有兴趣的可自行研究:https://github.com/pschlan/cron-job.org
其它网站签到方案
补充说明
通过cookie签到存在一些不足,cookie具有一定有效期,不同的网站有效期不一样。cookie过期后您需要重新获取并在cron-job.org
的任务中更新cookie
cron-job.org能做的不仅仅是网站签到,签到只是其中一个场景,比如您还可以用cron-job.org来监控您的API接口,总之根据自己的需要合理使用cron-job.org即可。(注意:滥用会被删号)