轉發:https://mp.weixin.qq.com/s/2Azi7iEFyrVkhrEcECcYzg
之前我們了解了一些驗證碼的處理流程,比如圖形驗證碼、滑塊驗證碼、點選驗證碼等等,但是這些驗證碼都有一種共同的特點,那就是這些驗證碼的處理流程通常只需要在 PC 上完成即可,比如圖形驗證碼如果在 PC 上出現,那么在 PC 上直接驗證通過就好了,所有的識別、驗證輸入的流程都是在 PC 上完成的。
但還有一種驗證碼和此種情況不同,那就是手機驗證碼,比如 PC 上需要輸入手機號,然后短信驗證碼需要發到手機上,然后再在 PC 上把收到的驗證碼輸入即可通過驗證。
那遇到這種情況,我們如何才能將這個流程給自動化呢?
驗證碼收發
通常來說,我們的自動化腳本會運行在 PC 上,比如打開一個網頁,然后模擬輸入手機號,然后點擊獲取驗證碼,接下來就需要輸入驗證碼了。打開頁面,輸入手機號、點擊獲取驗證碼等流程我們可以非常容易地實現自動化,但是驗證碼被發送到手機上了,我們怎么能把它轉到 PC 上呢?
為了自動化整個驗證碼收發的流程,這時候我們想要完成的就是——當手機收到一條短信的時候,它能夠自動將短信轉發到某處,比如一台遠程服務器上或者直接發到 PC 上,在 PC 上我們可以通過一些方法再把短信獲取下來並提取驗證碼的內容,然后自動化填充驗證碼即可。
那這里關鍵的部分其實就是怎樣完成這兩個步驟:
- 如何監聽手機收到了短信
- 如何將手機短信轉發到想要的位置
這兩個步驟缺一不可,而且都需要在手機上完成。
這里我們就介紹一個開源軟件,叫做 SmsForwarder,中文翻譯過來叫做短信轉發器,其 GitHub 倉庫地址為:https://github.com/pppscn/SmsForwarder
它的基本流程架構圖如下:
架構圖非常清晰,SmsForwarder 可以監聽監聽收到短信的事件,獲取到短信的來源號碼、接受卡槽、短信內容、接收時間等內容,然后將其通過一定的規則轉發出去,支持轉發到郵箱、微信群機器人、企業微信、Telegram 機器人、Webhook 等。
比如我們可以配置類似這樣的規則,如圖所示:
比如當手機號符合一定的規則就轉發到 QQ 郵箱,比如內容包含“報警”就轉發到阿里企業郵箱,比如內容開頭是“測試”就發動給叫做 TSMS 的 Webhook。
其中QQ郵箱、阿里企業郵箱都是我們已經配置好的發送方,都屬於郵箱類型,TSMS 也是一種發送方,屬於 Webhook 類型,如圖所示:
我們也可以點擊添加發送方按鈕來添加對應的發送方,比如添加郵箱的發送方,我們可以設置 SMTP 配置下發件郵箱、SMTP 服務器、SMTP 端口、授權密碼等內容:
設置 Webhook 我們可以選擇是 GET 還是 POST 請求,然后填入對應的 URL、密鑰等內容:
設置轉發規則頁面如圖所示:
比如這里我們可以選擇匹配卡槽、匹配的字段、匹配的模式,還可以配置正則來設置匹配的值,這里就配置了尾號是 4566 的手機號來執行一定的發送操作,收到的短信會發送到釘釘這個發送方。
其他可用工具: tasker