使用 expect 自動登入 bbs 其實在早年網路上已經有許多文章可以參考
這邊簡單改改提供方便在 mac os x 或是 linux 下終端機可以直接登入 ptt
這個版本環境是在 utf8 編碼環境用 bbsu@ptt.cc 登入
若是要用 big5 請改成 bbs@ptt.cc 帳號就可以了
但是記得檔案本身編碼也要用 big5 存檔
#!/usr/bin/expect
spawn ssh -oBatchMode=no -oStrictHostKeyChecking=no bbsu@ptt.cc
set BBS_ID "YOUR_ID"
set BBS_PW "YOUR_PW"
expect {
"請輸入代號" { send "$BBS_ID\r" ; exp_continue }
"請輸入您的密碼" { send "$BBS_PW\r" ; exp_continue }
"您想刪除其他重複登入的連線嗎" { send "N\r" ; exp_continue }
"您要刪除以上錯誤嘗試的記錄嗎" { send "N\r" ; exp_continue }
"任意鍵繼續" { send "q\r" ; exp_continue }
"密碼不對喔" { exit }
"裡沒有這個人啦" { exit }
"請勿頻繁登入以免造成系統過度負荷" { send "\r" ; exp_continue }
"請按任意鍵繼續" { send "\r" ; exp_continue }
"oodbye" { interact }
}
exit
程式碼截圖畫面:
程式碼也許還有一些情況沒有完整考慮,但是大體上沒什麼問題...
提供給大家參考....