2017-07-17 184 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( “你好”)

,做与密码字段相同。