非常教程

Python参考手册

网络 | Internet

telnetlib

源代码: Lib / telnetlib.py

telnetlib模块提供了一个Telnet实现Telnet协议的类。有关该协议的详细信息,请参阅RFC 854。另外,它为协议字符(见下面)和telnet选项提供了符号常量。远程登录选项的符号名称遵循其中的定义arpa/telnet.h,并TELOPT_删除了前导符。对于传统上未包含的选项的符号名称arpa/telnet.h,请参阅模块源本身。

telnet命令的符号常量为:IAC,DONT,DO,WONT,WILL,SE(子协商结束),NOP(无操作),DM(数据标记),BRK(中断),IP(中断过程),AO中止输出),AYT(你在那里),EC(擦除字符),EL(擦除线),GA(前进),SB(子协商开始)。

class telnetlib.Telnet([host[, port[, timeout]]])

Telnet代表到Telnet服务器的连接。该实例最初并未默认连接; 该open()方法必须用于建立连接。或者,可以将主机名和可选端口号传递给构造函数,在这种情况下,将在构造函数返回之前建立与服务器的连接。可选的timeout参数指定阻止诸如连接尝试(如果未指定,将使用全局默认超时设置)等操作的超时(以秒为单位)。

不要重新打开已连接的实例。

这个类有很多read_*()方法。请注意,EOFError当读取连接结束时会引发其中的一些问题,因为由于其他原因它们可能会返回空字符串。请参阅下面的个别说明。

在版本2.6中更改:添加了超时

1. Telnet对象

Telnet 实例具有以下方法:

Telnet.read_until(expected[, timeout])

直到阅读给定的字符串,预计,当遇到或直到超时秒过去了。

如果找不到匹配项,则返回可用的任何项,可能为空字符串。EOFError如果连接关闭并且没有熟化数据可用,则提升。

Telnet.read_all()

读取所有数据直到EOF; 阻塞直到连接关闭。

Telnet.read_some()

除非命中EOF,否则至少读取一个字节的已煮熟数据。''如果EOF被击中,则返回。如果没有数据立即可用,则阻止。

Telnet.read_very_eager()

阅读所有可以在I / O(热切)中不受阻塞的内容。

EOFError如果连接关闭并且没有可用的已烹饪数据,则升起 ''如果没有可用的数据,则返回。除非在IAC序列中,否则不要阻塞。

Telnet.read_eager()

阅读随时可用的数据。

EOFError如果连接关闭并且没有可用的已烹饪数据,则升起 ''如果没有可用的数据,则返回。除非在IAC序列中,否则不要阻塞。

Telnet.read_lazy()

处理并返回队列中已有的数据(lazy)。

EOFError如果连接关闭且没有可用数据,则提升。''如果没有可用的数据,则返回。除非在IAC序列中,否则不要阻塞。

Telnet.read_very_lazy()

返回已熟练队列中的任何数据(very lazy)。

EOFError如果连接关闭且没有可用数据,则提升。''如果没有可用的数据,则返回。这个方法永远不会阻塞

Telnet.read_sb_data()

返回SB / SE对之间收集的数据(子选项开始/结束)。回调应该在用SE命令调用时访问这些数据。这个方法永远不会阻塞

2.3版本的新功能。

Telnet.open(host[, port[, timeout]])

连接到主机。可选的第二个参数是端口号,默认为标准Telnet端口(23)。可选的timeout参数指定阻止诸如连接尝试(如果未指定,将使用全局默认超时设置)等操作的超时(以秒为单位)。

不要尝试重新打开已连接的实例。

在版本2.6中更改:添加了超时

Telnet.msg(msg[, *args])

当调试级别为>0 时打印调试消息。如果存在额外的参数,则使用标准字符串格式操作符将其替换为消息。

Telnet.set_debuglevel(debuglevel)

设置调试级别。debuglevel的值越高,获得的调试输出就越多(on sys.stdout)。

Telnet.close()

关闭连接。

Telnet.get_socket()

返回内部使用的套接字对象。

Telnet.fileno()

返回内部使用的套接字对象的文件描述符。

Telnet.write(buffer)

将字符串写入套接字,使IAC字符加倍。这可以阻止连接被阻止。socket.error如果连接关闭,可能会引发。

Telnet.interact()

交互功能,模拟一个非常笨的Telnet客户端。

Telnet.mt_interact()

多线程版本interact()

Telnet.expect(list[, timeout])

阅读,直到正则表达式列表中的一个匹配。

第一个参数是正则表达式的列表,可以是compile(regex objects)也可以是uncompiled(字符串)。可选的第二个参数是以秒为单位的超时值; 默认是无限期阻止。

返回三个元素的元组:第一个正则表达式匹配的列表中的索引; 匹配对象返回; 并阅读文本直到包括比赛。

如果找到文件结尾并且没有文本被读取,请举起EOFError。否则,不匹配时,返回(-1, None, text)其中的文字是迄今收到的文字(可以是空字符串,如果超时发生)。

如果正则表达式以贪婪匹配(例如.*)结束,或者如果多个表达式可以匹配相同的输入,则结果是非确定性的,并且可能取决于I / O时序。

Telnet.set_option_negotiation_callback(callback)

每次在输入流上读取telnet选项时,使用以下参数调用此回调(如果已设置):callback(telnet套接字,命令(DO / DONT / WILL / WONT),选项)。之后telnetlib不会执行其他操作。

2. Telnet示例

一个说明典型用途的简单例子:

import getpass
import sys
import telnetlib

HOST = "localhost"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("ls\n")
tn.write("exit\n")

print tn.read_all()
Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法