[python]telnetlib庫的使用


telnetlib使用比較簡單,寫了個例子,可以看看整個telnet過程:
print('------------------------connect---------------------------')
    # 連接Telnet服務器  
    tn = telnetlib.Telnet(host, port)  
   tn.set_debuglevel(5)  
       
    print('-------------------------login----------------------------')
    # 輸入登錄用戶名  
    tn.read_until('login:')  
    tn.write(username + '\n')  
    
    if(password != ''):
        # 輸入登錄密碼  
        tn.read_until('password:')  
        tn.write(password + '\n')          
        
    # 登錄完畢后執行命令  
    print('-----------------------send over---------------------------')
    tn.read_until(finish)  
    tn.write(commands + '\n')   
    
    print('-------------------------output----------------------------')
    time.sleep(.1)
    result = tn.read_very_eager()
    
    print result
    
    tn.close() # tn.write('exit\n')  
    
    print('--------------------------end------------------------------')
 
流程和手工進行telnet流程相一致,主要需要注意兩點內容:
1.輸入后需要等待相應的提示符。比如:連接完成需要等待用戶名提示符,用戶名輸入完后需要等待密碼提示符等等。
2.在等待telnet命令結果時候的處理。如果使用read_until(),可能無法判斷到底會回顯什么字符串,如果不一致會一直卡在這里。如果用read_all()的話,如果回顯沒返回EOF也會卡在這里。比較好的做法是使用read_very_eager(),最多加個延遲就可拿到全部的結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM