1. 程式人生 > 其它 >搭建論壇自動簽到服務

搭建論壇自動簽到服務

使用前準備

1.伺服器
2.QianDao for Python3
github地址:https://github.com/qiandao-today/qiandao

安裝

docker

1.安裝docker

可在寶塔應用商店安裝 docker管理器 ,或者參考 https://docs.docker.com 進行安裝

2.建立容器

$(pwd)為當前目錄,可以根據自己的需求進行替換
docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config a76yyyy/qiandao

3.訪問你的IP:8923

可看到以下介面

右上角點選登入

注:註冊的第一個賬號即為管理賬號
可看到以下介面

完成!

更詳細的安裝方法以及更多詳細介紹請到作者的github上檢視

建立模版

可以考慮使用公共模板,這樣較方便
建立簽到任務前,首先要編寫模版
這裡以在PSNine簽到為例,簡單說下如何儲存HAR,還有建立模版的過程
需要準備2個帳號,一個現代的瀏覽器(Chrome, Edge, Firefox etc..)

開啟網站,按F12開啟控制檯,切換到Network選項卡
勾上Preserve Log,以防止頁面重新整理或跳轉後,所有Request被清空
點選Clear按鈕,把之前開啟的無用的Request清空下

點選簽到按鈕後,後會多出幾個請求log
右鍵第一個Request,選擇Save all as HAR with content儲存HAR檔案

回到你的簽到站,新建模版,上傳HAR檔案,使用者名稱和密碼不需要填寫
點選你的請求,接下來我們要做一些修改

把你自己的Cookies刪除,Request Headers中的Cookie對應值改成變數{{cookie}},並且打勾
可以把瀏覽器自帶的一些沒用的Request Headers清除,改好的如下圖

想可以在測試選項卡新增變數,填寫自己的cookie後,點選測試
可以觀察下的html原始碼.成功的話,獲取的銅幣也在html元素裡
為方便我們檢視日誌,我們用正則提取出來,比如這樣
coin <b style="color:red;">(\d+)<


day <b style="color:green;">(\d+)<

這樣簽到的天數和銅幣數量就儲存在變數day和coin中了.點選儲存一次
接著我們繼續插入一個unicode轉換, 點選儲存

在Query String Parameters的content填寫需要轉換內容祈禱得到 {{coin}} 銅幣,已經累計祈禱 {{day}} 天了

在預覽頁面,變數提取的name改成__log__,正則保持預設的"轉換後": "(.*)"即可

儲存後,可以在我的模版裡釋出成公開模版,然後在我的釋出頁面裡稽核通過

以下請求一般是必要的:
登入頁面
登入頁面的POST
發出使用者名稱、密碼的請求
傳送後導致頁面跳轉的頁面
翻頁前後的第一個頁面

使用

新建一個簽到任務,填上自己的Cookie即可
如果裝了GetCookie的瀏覽器外掛,可以直接點選獲取

獲取cookie的方法

方法一

開啟需要獲取cookie的網站
瀏覽器F12開啟控制檯
進入Console(控制檯)頁面
輸入document.cookie

輸入後的內容即為cookie

方法二

在Network(網路)選項卡里面開啟任意請求,找到Request Headers,把Cookie內容複製出來

拓展

反向代理

1.在寶塔中建立並繫結好域名,點選設定

2.點選反向代理

3.點選新增反向代理

4.配置好,如下圖,點選提交

5.點選配置檔案


加入以下內容:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:8923;
}

6.完成

一個好訊息,新版Chrome的控制檯已支援中文
可在控制檯右上角設定中設定語言,如下圖