GitHub Actions自动签到获取积分的脚本更新说明-20200710
侧边栏壁纸
  • 累计撰写 65,098 篇文章
  • 累计收到 0 条评论

GitHub Actions自动签到获取积分的脚本更新说明-20200710

James
2020-08-29 / 0 评论 / 68 阅读 / 正在检测是否收录...

近期Hostloc提高了封禁ip的严格程度,导致大量用户反应脚本登录失败,实际上可能并不是登录失败,而是ip被封禁了

在我的实际测试中,半分钟内请求了20来次就一直显示连接超时,无法再打开任何页面(为了弄这东西,我好几个ip都被封了,现在是挂着代理来发帖的)

鉴于上述情况,我稍微调整了一下脚本,在HTTP状态码不为200时会抛出异常,这样就不会在ip被封禁的情况下也是显示登录失败了,可以更方便的查找原因。

另外,还将原先的4秒请求一次修改为了5秒请求一次,补充完善了http头和登录表单内容等。

脚本其实没啥技术含量,各位要是有什么好的想法实现,欢迎提交pullrequests。

除此之外,我怀疑GitHubActions有可能是多个虚拟机共用一个出口ip地址,当大量Fork本仓库的GitHubActions任务在同一时间运行时,可能会出现多个任务使用同一个ip地址的情况,这样即使单个任务设置的请求时间间隔已经足够长,对该ip地址而言仍有可能会出现请求速度过快被封禁的情况。建议大家修改一下文件.github/workflows/action.yml中的cron:017*部分,设置一个自己的运行时间,不要全部挤在同一时间运行。

有部分mjj指出,loc有时候会开js验证,但是不知道为什么,我这边从来没遇到过这种情况,所以也没法测试

目前唯一遇到的比较奇怪的问题就是,在测试过程偶发性会出现访问个人设置页面“https://www.hostloc.com/home.php?mod=spacecp”时返回400ClientError:BadRequestforurl的情况,目前没有排查出原因,是loc的问题?还是这就是ip被封的一种表现?

最后,建议各位对Git和GitHub不熟悉的人不要乱点pullrequests,要更新可以通过删除仓库,重新fork的方式进行,我已经关掉过好几个莫名其妙的“UpdateREADME.md”的pullrequests了。

脚本地址见签名


-----------------------------------------------------
网友回复:

引用:tdd发表于2020-7-1014:34

我下载下来小鸡上执行很稳的


网友回复:

githubaction能用tor之类的代理吗?


网友回复:

引用:悟雨发表于2020-7-1014:48

我用pullrequests更新了


网友回复:

引用:chr发表于2020-7-1014:47

元老了,积分只是数字了


网友回复:

在用萌咔大佬的脚本,自己加了time.sleep,本地测试时候2秒被ban了ip,现在只能用代理,小鸡上2s没事,干脆全设置到4秒。


网友回复:

引用:cherbim发表于2020-7-1014:54

有时会来气JS验证,脚本失效


网友回复:

引用:Reves发表于2020-7-1014:57

在用萌咔大佬的脚本,自己加了time.sleep,本地测试时候2秒被ban了ip,现在只能用代理,小鸡上2s没事,干脆...


网友回复:

感谢了虽然自己没遇到问题但还是重新fork一下项目


网友回复:

js是出现了防D校验,说白了就是拿js里的几个变量做AES运算

本来签到就是一天内完成的任务,慢慢跑不就好了么


网友回复:

emmm本来之前挺好的重新fork以后程序执行异常

程序执行异常:400ClientError:BadRequestforurl:https://www.hostloc.com/home.php?mod=spacecp


网友回复:

我发现,脚本签到会被封ip的,但过一天半天又能恢复


网友回复:

引用:Alanku发表于2020-7-1314:53

我发现,脚本签到会被封ip的,但过一天半天又能恢复


网友回复:

最后bb一句,sleep的时间最好不是要固定,固定的时间间隔也是爬虫的一个特征,俺设置的是5-10s随机选一个

0