使用 expect 自動登入 bbs - Linux

Table of Contents


使用 expect 自動登入 bbs 其實在早年網路上已經有許多文章可以參考
這邊簡單改改提供方便在 mac os x 或是 linux 下終端機可以直接登入 ptt

這個版本環境是在 utf8 編碼環境用 [email protected] 登入
若是要用 big5 請改成 [email protected] 帳號就可以了
但是記得檔案本身編碼也要用 big5 存檔

#!/usr/bin/expect

spawn ssh -oBatchMode=no -oStrictHostKeyChecking=no [email protected]

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

程式碼截圖畫面:http://imgur.com/JXLoXwp

程式碼也許還有一些情況沒有完整考慮,但是大體上沒什麼問題...

提供給大家參考....

--

All Comments

Suhail Hany avatarSuhail Hany2015-01-15
推荐這篇文章。
Sierra Rose avatarSierra Rose2015-01-20
Noah avatarNoah2015-01-21
Christine avatarChristine2015-01-22
小州大推
Noah avatarNoah2015-01-23
這週測試了一下,好像不能用欸.....
待會整理一下遇到的問題