2020年5月29日 星期五

使用 expect 自動登入 bbs

expect 是 Tcl Extensions, 所以要看 tcl 來學習, 再加上 expect 自己擴充。

從這裡參考而來: 使用 expect 自動登入 bbs

p2.exp
 1 #!/usr/bin/expect
 2 set timeout 60
 9 
16 set BBS_ID [lindex $argv 0]
17 set BBS_PW [lindex $argv 1]
18 puts $BBS_ID
19 puts $BBS_PW

21 
22   spawn ssh -oBatchMode=no -oStrictHostKeyChecking=no bbsu@ptt.cc
23 
30 
31 expect "或以 new 註冊: " { send "$BBS_ID\r" }
32 expect "請輸入您的密碼" { send "$BBS_PW\r" }
33 expect "請按任意鍵繼續" 
34 send "\r"
35 
36 interact

用法:
p2.exp user_name user_password

如果有不知道的按鍵, 例如方向鍵, 可以使用 autoexpect 來產生 expect script, 裡頭就會得知方向鍵該怎麼寫。

autoexpect 執行之後, 依序按下「上下左右」, 輸入 exit 離開 autoexpect, 這時候就會產生一個 script.exp, 參考其中內容即可。

當然也可以運用 expect 來自動發布 bbs 文章。

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。