2
모두 안녕하세요!파이썬 텔넷 클라이언트
현재 일부 Telnetlib (https://docs.python.org/2/library/telnetlib.html)을 Python 2.7에 사용하여 일부 외부 장치와 통신하려고합니다.
import sys
import telnetlib
tn_ip = xxxx
tn_port = xxxx
tn_username = xxxxx
tn_password = xxxx
searchfor = "Specificdata"
def telnet():
try:
tn = telnetlib.Telnet(tn, tn, 15)
tn.set_debuglevel(100)
tn.read_until("login: ")
tn.write(tn_username + "\n")
tn.read_until("Password: ")
tn.write(tn_password + "\n")
tn.read_until(searchfor)
print "Found it!"
except:
print "Unable to connect to Telnet server: " + tn_ip
telnet()
그리고 난 내가 필요한 잡을 때까지 (꽤 많은 인) 출력있어 모든 데이터를 이동하기 위해 노력하고있어 :
내가 설정 한 기본을 가지고있다. 그것은 꽤 괜찮은에서 로그인하고, 심지어 내가 찾고있는 데이터를 발견하고 내 메시지를 찾았습니다. 다른 데이터 (또는 반복되는 데이터가있을 수 있으므로 telnet을 사용하여 연결을 유지하는 방법을 찾고 있습니다.) 내가 로그 오프하고 다시 로그인 한 경우 실종 될 수 있습니다.
누구든지이 작업을 수행하는 방법을 알고 있습니까?
필요한 특정 정보 목록이 있습니까? 아니면 텔넷 연결을 무기한 열어 두시겠습니까? – VergeA
의견을 남겨주셔서 감사합니다! 나는 여러 가지 정보를 찾고있다. 트리거되면 다른 것이 활성화 될 것이므로 같은 시간에 검색하는 동안 연결을 열린 상태로 유지하고 싶습니다. – user5740843
텔넷 연결 개체를 클래스의 인스턴스 변수로 만들 수 있습니다. 클래스의 생성/초기화 중에 로그인 프로 시저를 수행하면 인스턴스 변수에 위임하여 필요한만큼 read_until() 메서드를 호출 할 수 있습니다. 클래스가 소멸 될 때/더 이상 연결이 필요하지 않을 때 닫습니다. – VergeA