當前位置:首頁 » 編程軟體 » 腳本自動登錄

腳本自動登錄

發布時間: 2024-11-29 09:55:27

『壹』 如何用expect寫一個自動登錄腳本

1.安裝expect

需要先安裝tcl:apt-get install tcl

apt-get install expect

2.expect使用

2.1一個簡單的輸入密碼操作

#!/usr/bin/expect

set timeout 100

set password "123456"

spawn sudo rm -rf zzlogic

expect "root123456"

send "$password "

interact

說明:

第一行#!/usr/bin/expect表示使用expect的shell交互模式

set是對變數password賦值

set timeout 100:設置超時時間為100秒,如果要執行的shell命令很長可以設置超時時間長一些。expect超過超時時間沒有監測到要找的字元串,則不執行,默認timeout為10秒

spawn在expect下執行shell腳本

expect對通過spawn執行的shell腳本的返回進行判斷,是否包含「」中的欄位

send:如果expect監測到了包含的字元串,將輸入send中的內容, 相當於回車

interact:退出expect返回終端,可以繼續輸入,否則將一直在expect不能退出到終端

2.2expect的命令行參數

[lindex $argv n]獲得index為n的參數(index從0開始計算)

$argc為命令行參數的個數

[lrange $argv 0 0]表示第一個參數

[lrange $argv 0 3]表示第1到第3個參數

例如scp_service.sh文件,可以./scp_service.sh -rm來執行,這時是賦值了一個參數

set option [lindex $argv 0](獲得第一個參數存到變數option中,參數是的index是從0開始計算的)

2.3if...elif...else...

expect支持if語句,

if {條件1} {

條件1執行語句

} elif {條件2} {

條件2執行語句

} else {

其他情況執行語句

}

說明:

1.if的條件用{}來包含條件

2.if和後面的{}必須有空格隔開

3.兩個花括弧之間必須有空格隔開,比如if {} {},否則會報錯 expect:extra characters after close-brace

3.使用{來銜接下一行,所以if的條件後需要加左花括弧{

4.else不能單獨放一行,所以else要跟在}後面

2.4 expect {},多行期望,匹配到哪條執行哪條

背景:有時執行shell後預期結果是不固定的,有可能是詢問是yes/no,有可能是去輸入密碼,所以可以用expect{}

花括弧內放多行語句,從上至下匹配,匹配到哪個expect執行哪句。

3.shell中調用expect來實現登錄

我是通過在shell腳本中執行expect腳本的方式來實現的。當然可以將shell中定義的一些變數傳遞給expect腳本作為參數輸入。

『貳』 怎麼寫一個批處理,能讓他自動登錄.

批處理汪猜達不到你的要,因為涉及到SOCKS數據傳送,或許你可以利用VB來編寫這么一個程序困仿型。
另外,你可以看看這個網站是否支持 保存COOKIS 記錄,某些論壇,網站登大豎錄時可以選擇一個登錄有效時間,來保存你的登錄信息。

『叄』 BAT高手,幫我編寫一個自動登錄「百度知道」賬號的腳本

@echo off
set /p o=輸入用戶名:
set /p k=輸入密碼:
start iexplore "http://passport..com/?login&tpl=mn&u=http%3A//www..com/"
echo Set WshShell = WScript.CreateObject("WScript.Shell")>>網路自動登入.vbs
echo WScript.Sleep 2000>>網路自動登入.vbs
echo WScript.Sleep 1000 '沒事要延時,不然要出問題>>網路自動登入.vbs
echo wScript.Sleep 1000>>網路自動登入.vbs
echo WshShell.SendKeys "%o%">>網路自動登入.vbs
echo wScript.Sleep 100>>網路自動登入.vbs
echo WshShell.SendKeys "{TAB}">>網路自動登入.vbs
echo wScript.Sleep 100>>網路自動登入.vbs
echo WshShell.SendKeys "%k%">>網路自動登入.vbs
echo wScript.Sleep 100>>網路自動登入.vbs
echo WshShell.SendKeys "{ENTER}">>網路自動登入.vbs
網路自動登入.vbs
exit

保存為*.bat

熱點內容
電腦怎麼登遠程伺服器 發布:2024-11-29 12:32:20 瀏覽:124
先來先服務進程調度演算法 發布:2024-11-29 12:30:12 瀏覽:628
mysql存儲過程循環表中的數據 發布:2024-11-29 12:04:02 瀏覽:600
相機存儲器一般是什麼 發布:2024-11-29 11:59:51 瀏覽:295
傳奇伺服器源碼 發布:2024-11-29 11:43:15 瀏覽:820
新手機如何登錄微信密碼忘記了 發布:2024-11-29 11:34:34 瀏覽:544
筆記本配置低怎麼玩lol 發布:2024-11-29 11:34:32 瀏覽:461
如何在iphone上玩安卓號 發布:2024-11-29 11:24:21 瀏覽:754
伺服器店鋪怎麼取名 發布:2024-11-29 11:19:26 瀏覽:4
phpapache日誌 發布:2024-11-29 11:07:26 瀏覽:310