#!/usr/bin/env tclsh
#
# A script to login ptt BBS
# tclsh -encoding big5 login.tcl host user username password
#
package require Expect
set timeout 60
encoding system big5
spawn ssh [lindex $argv 1]@[lindex $argv 0]
expect "請輸入代號,或以 guest 參觀,或以 new 註冊:" {
exp_send "[binary decode base64 [lindex $argv 2]]\r"
expect "請輸入您的密碼:" { exp_send "[binary decode base64 [lindex $argv 3]]\r" }
}
interact
我只是將 username/password 使用 base64 編碼,所以這裡需要解回來。然後這個 script 需要使用 BIG5 編碼存檔(執行時也需要使用 -encoding 設定編碼)。
然後寫一個 script 呼叫這個 tcl script,下面是一個例子:
#!/usr/bin/env bash
tclsh -encoding big5 ~/bin/login.tcl ptt.cc bbs dXNlcg== cGFzc3dk
再來將這個 shell script 設為可執行,就可以執行以後自動登入 PTT BBS。
沒有留言:
張貼留言