在馒头,我被 ban 了两个账号了,甚是可惜。最近又拿到邀请,成功入站,决心认真一点对待。40天未登录就ban账号的规则说实话还是有点严格,但是没办法,得遵循他们的规则

馒头考核-已达标

打算写代码自动模拟登录的,但是稍许有些麻烦。网上搜了一下也有现成的模拟登录的项目,但看上去部署太复杂,就没有兴趣阅读下去了。

发现可以利用 cron 和 curl 直接模拟登录,借用 chrome dev tool 的 copy request as curl(bash) 功能,可以把整个请求包含 cookie 复制下来,方便通过 curl 调用。

copy as curl

写一个 bash 脚本,cron 执行访问馒头的 userdetail 页面。

脚本位置 /home/dk/temp/mteam.sh, cron 内容, 意思是每周五的上午11点执行一次,并把日志输出到 /home/dk/temp/mteam-login-logs 目录下的 log 文件里,文件名举例: 2023-02-21_14-27-26.log

cron 内容

0 11 * * 5 bash /home/dk/temp/mteam.sh >/home/dk/temp/mteam-login-logs/$(date +%Y-%m-%d_%H-%M-%S).log

mteam.sh 脚本本身内容(已打码)

#!/bin/bash

set -e

curl 'https://kp.m-team.cc/userdetails.php?id=xxxxxx' \
  -H 'authority: kp.m-team.cc' \
  -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
  -H 'accept-language: zh,zh-CN;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'cache-control: no-cache' \
  -H 'cookie: tp=xxxxxx; cf_clearance=xxxxxx' \
  -H 'dnt: 1' \
  -H 'pragma: no-cache' \
  -H 'sec-ch-ua: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  -H 'sec-fetch-dest: document' \
  -H 'sec-fetch-mode: navigate' \
  -H 'sec-fetch-site: none' \
  -H 'sec-fetch-user: ?1' \
  -H 'upgrade-insecure-requests: 1' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36' \
  --compressed

查看生成的 log 文件,请求之后返回了一个完整的 html 静态页面

20230222140724