[轉貼]請問如何寫持續登入的script?

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

[轉貼]請問如何寫持續登入的script?

文章moto » 週四 2月 13, 2003 2:49 pm

※ 本文轉錄自 [Linux] 看板

作者: light (Linux, Running..) 看板: Linux
標題: Re: 請問如何寫持續登入的script?
時間: Tue Jan 7 01:53:25 2003

※ 引述《radom.bbs@bbs.cs.nthu.edu.tw (缺水中...)》之銘言:
> 在先前的文章看過,
> 使用spawn和interact的方式,
> 可以防閒置、自動登入,
> 但不知道有沒有辦法持續連線直到登入呢??
> 像kkcity...
> 有時太難連了...如果有這個script
> 搞不好可以多拉一些人進入linux的行列...:p

剛把前面Post的自動登入Script,稍做修改成有自動重新連線的,
可以用來自動登入KKCity,Command可指定帳號及密碼,以及主機位址,
有興趣的朋友請幫忙測試看看吧。

使用方法:
將下面Script內容儲存 EX. 存成 kkcity.ex
然後讓它可執行 EX. chmod +x kkcity.ex
執行程式則輸入 EX. ./kkcity yourname yourpassword
就可以自動重新連線直到登入KKCity

Expect用中文字好像時常出問題,不知道有沒有方法可解決。


------------------ 以下都是Script檔案的內容 -------------------

#!/usr/bin/expect
# BBS Auto Connection Script Using Expect
# KKCity Tested

if { $argc == 3 } {
set username [lindex $argv 0]
set password [lindex $argv 1]
set hostname [lindex $argv 2]
} elseif { $argc == 2 } {
set username [lindex $argv 0]
set password [lindex $argv 1]
set hostname "bbs.kkcity.com.tw"
} else {
set username "guest"
set password "guest"
set hostname "bbs.kkcity.com.tw"
}

set IsConnect 0
while { $IsConnect != 1 } {
spawn telnet "-8" "$hostname"
expect {
"有人客來呦" { set IsConnect 1 }
"Connection closed by foreign host" { continue }
}
}

expect {
"輸入代號:" {
send "$username\n"
expect "輸入密碼:"
send "$password\n"
send "\n\n\n\nf\n"
}
}

# send out the NULL character every 600 secs (10 mins)
interact timeout 600 { send -null }

exit

--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客