最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中telnetlib模塊的使用方式

 更新時間:2023年11月10日 16:55:30   作者:上帝De助手  
這篇文章主要介紹了python中telnetlib模塊的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python telnetlib模塊的使用

python下能支持telnet的模塊telnetlib是內(nèi)置模塊,直接import就可以了,其基本的使用方法也是比較簡單的。

#encoding=utf-8
 
def do_telnet(Host, username, password, finish, commands):
    import telnetlib
    '''Telnet遠程登錄:Windows客戶端連接Linux服務(wù)器'''
 
    # 連接Telnet服務(wù)器
    tn = telnetlib.Telnet(Host, port=23, timeout=10)
	tn.set_debuglevel(2)
     
    # 輸入登錄用戶名
    tn.read_until('login: ')
    tn.write(username + '\n')
    
    # 輸入登錄密碼
    tn.read_until('password: ')
    tn.write(password + '\n')
      
    # 登錄完畢后執(zhí)行命令
    tn.read_until(finish)
    for command in commands:
        tn.write('%s\n' % command)
    
    #執(zhí)行完畢后,終止Telnet連接(或輸入exit退出)
    tn.read_until(finish)
    tn.close() # tn.write('exit\n')
 
if __name__=='__main__':
	 # 配置選項
	Host = '10.255.254.205' # Telnet服務(wù)器IP
	username = 'administrator'   # 登錄用戶名
	password = 'dell1950'  # 登錄密碼
	finish = ':~$ '      # 命令提示符
	commands = ['echo "test"']
	do_telnet(Host, username, password, finish, commands)

其中port和timeout是可選的參數(shù),而timeout的只是在初始化socket連接時起作用,而一旦連接成功后如果出現(xiàn)等待那就不會起作用了,比如使用read_until方式獲取內(nèi)容時返回的內(nèi)容與指定的內(nèi)容沒有吻合,那么就會造成提示等待的情況,這時timeout是不會起作用的,而這個socket連接會一直保持著,永生不死。

【注:read_until有自己的timeout參數(shù),設(shè)置了會相應(yīng)的生效】

如何解決這個問題

其實還有一種比較原始的方法,就是使用sleep方法來代替read_until方法,這樣就不會出現(xiàn)種情況,因為到點就會自己輸入,最多也就是最后得不到想要的結(jié)果,但是這個方式很不穩(wěn)定,兼容性也不好;

另一種方法是使用線程來啟動這個函數(shù),然后對子線程進行超時設(shè)置,這樣就可以達到間接控制這個telnet連接的目的了。

    import threading
    pars = replace_db_keyworlds(vars_dict, pars)
    configs = pars.split(r'@')
    host = configs[0].encode()
    user = configs[1]
    passwd = configs[2]
    finish = configs[3]
    commands = configs[4].split(r'\n')
    th1 = threading.Thread(target=do_telnet, args=(host.encode('utf-8'), user.encode('utf-8'), passwd.encode('utf-8'), finish.encode('utf-8'), commands))
    th1.start()
    th1.join(20)  ##20秒超時時間

還有一個需要注意的是,傳遞給Telnet方法的字符串都會被解一次碼,所以如果你傳遞過去需要write的字符串是已經(jīng)解碼的unicode的話,那么就會報錯的,所以在傳遞發(fā)送的字符串之前還是先編成utf-8為妥,其它字符不知道支持不,我只試了utf-8,也沒看源碼。

此外,貌似還有一個pexpect的第三方模塊可以支持telnet等一系列的協(xié)議連接,并支持交互式的通信,只是這個模塊夠用就沒學(xué)習(xí)了,這里先備注一下。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一個計算身份證號碼校驗位的Python小程序

    一個計算身份證號碼校驗位的Python小程序

    閑著無事,便想寫個實用點的Python小程序,如何計算機身份證號碼的校驗位,這樣的文章在網(wǎng)上一抓一大把,這里僅簡單介紹下吧
    2014-08-08
  • Python面向?qū)ο缶幊?nbsp;Class詳解

    Python面向?qū)ο缶幊?nbsp;Class詳解

    本文介紹了面向過程編程和面向?qū)ο缶幊痰母拍?包括類、對象、封裝、繼承、多態(tài)、抽象等基礎(chǔ)知識,并通過實例講解了如何創(chuàng)建類、修改屬性值、實現(xiàn)類的繼承、特殊方法以及訪問控制等高級特性,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Python去除PDF水印的實現(xiàn)示例

    Python去除PDF水印的實現(xiàn)示例

    本文主要介紹了Python去除PDF水印的實現(xiàn)示例,思路很簡單,代碼也很簡潔。具有一定的參考價值,感興趣的可以了解一下
    2021-11-11
  • Django分頁功能的實現(xiàn)代碼詳解

    Django分頁功能的實現(xiàn)代碼詳解

    在本篇文章里小編給大家整理了關(guān)于Django分頁功能的實現(xiàn)代碼以及相關(guān)知識點內(nèi)容,需要的朋友們可以跟著學(xué)習(xí)參考下。
    2019-07-07
  • python爬蟲學(xué)習(xí)筆記--BeautifulSoup4庫的使用詳解

    python爬蟲學(xué)習(xí)筆記--BeautifulSoup4庫的使用詳解

    這篇文章主要介紹了Python中使用Beautiful Soup庫的超詳細教程,示例代碼基于Python2.x版本,極力推薦!需要的朋友可以參考下
    2021-08-08
  • python數(shù)據(jù)寫入列表并導(dǎo)出折線圖

    python數(shù)據(jù)寫入列表并導(dǎo)出折線圖

    這篇文章主要介紹了python數(shù)據(jù)寫入列表并導(dǎo)出折線圖,文章以舉例展開對文章主題的介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-01-01
  • 用python生成一張壁紙實例代碼

    用python生成一張壁紙實例代碼

    大家好,本篇文章主要講的是用python生成一張壁紙實例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python利用海龜畫圖turtle庫做一個籃球比賽計時畫面示例代碼

    Python利用海龜畫圖turtle庫做一個籃球比賽計時畫面示例代碼

    這篇文章主要介紹了Python利用海龜畫圖turtle庫做一個籃球比賽計時畫面的相關(guān)資料,文中通過代碼介紹的非常詳細,代碼實現(xiàn)了一個基本的計時器功能,需要的朋友可以參考下
    2024-12-12
  • django admin.py 外鍵,反向查詢的實例

    django admin.py 外鍵,反向查詢的實例

    今天小編就為大家分享一篇django admin.py 外鍵,反向查詢的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python中的字符串查找操作方法總結(jié)

    Python中的字符串查找操作方法總結(jié)

    這里我們來整理一下Python中的字符串查找操作方法總結(jié),除了基本的find()方法外,還會講解到樸素匹配算法和KMP算法的使用:
    2016-06-06

最新評論

台南县| 华亭县| 罗山县| 方正县| 邢台市| 台南县| 德昌县| 贺州市| 成武县| 定陶县| 武川县| 交城县| 阳原县| 纳雍县| 宣威市| 呼玛县| 腾冲县| 光山县| 革吉县| 四会市| 九龙城区| 敦煌市| 安义县| 丹阳市| 潜江市| 定边县| 磐石市| 缙云县| 井陉县| 五河县| 蓬莱市| 湘潭县| 垫江县| 潼关县| 金沙县| 中阳县| 宽甸| 台中市| 陇南市| 定边县| 修武县|