2017-07-17 237 views
2

我打開一個網站使用telnet.It是要求用戶名password.I想自動化它,並填寫該網站要求以編程方式登錄ID和密碼。使用python腳本的telnet登錄

from telnetlib import Telnet 
tn = Telnet("mtrek.com")#this is for example only 
tn.write("hello")#this is the username 

tn.write("[email protected]")#this is the password 

但是,這似乎並沒有解決目的。

回答

3

您需要發送一個新的行字符(\n),就像您自己使用telnet一樣。

tn.write("admin\n") 

你應該閱讀​​爲telnetlib

+0

現在,一個新的錯誤來了 回溯(最近通話最後一個): 文件 「ip1.py」,2號線,在 TN =遠程登錄( 「mtrek.com」) 文件「/ usr/lib目錄/ python2.7/telnetlib.py「,第211行,在__init__中 self.open(主機,端口,超時) 文件」/usr/lib/python2.7/telnetlib.py「,行227,打開 self。 sock = socket.create_connection((主機,端口),超時) 文件「/usr/lib/python2.7/socket.py」,第575行,在create_connection中 引發錯誤 socket.error:[Errno 111]連接被拒絕 – saki

+0

'''拒絕連接'''看起來像是主動參與的遠程主機使用連接。你確定telnet服務器正在主機上運行,​​並且它沒有被防火牆阻止嗎?首先使用常規的telnet客戶端進行驗證(例如Windows或PuTTY中可用的客戶端)。 –

+0

當我在ubuntu終端上鍵入telnet mtrek.com 1701它工作正常,但不在程序 – saki

0

我不確定,但經過官方文檔中給出的示例後,您是否需要閱讀/遍歷,直到預期給定字符串爲止?

喜歡的東西 -

tn.read_until( 「登錄 」)

tn.write(「 你好」 + 「\ n」)#心目中的 「\ n」 這裏

或可能是 -

tn.write( 「你好」)

,做與密碼字段相同。