共计 1325 个字符,预计需要花费 4 分钟才能阅读完成。
本站提供 Linux 服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
最近有个简单的需求,需要实现对部分网站实现自动签到,在此之前试过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 即可。(注意:滥用会被删号)