Python에서 IP 주소를 TelnetLib에 바인딩하는 방법
-
19-09-2019 - |
문제
아래 코드는 IP 주소를 urllib, urllib2 등에 바인딩합니다.
import socket
true_socket = socket.socket
def bound_socket(*a, **k):
sock = true_socket(*a, **k)
sock.bind((sourceIP, 0))
return sock
socket.socket = bound_socket
IP 주소를 TelnetLib에 바인딩 할 수 있습니까?
해결책
telnetlib
최소한 최근 Python 릴리스에서 사용됩니다 socket.create_connection
(Telnetlib의 출처를 참조하십시오 여기)하지만 그것은 또한 당신의 monkeypatch (출처 여기 - 베어 식별자를 사용하는 것을 볼 수 있습니다 socket
그러나 그것은 정확히 당신이 원숭이를 입고있는 모듈에 있습니다). 물론 Monkeypatching은 항상 매우 취약합니다 (미래의 릴리스에서 가장 작은 최적화, 글로벌 조회를 들어 올립니다. socket
안에 create_connection
, 그리고 당신은 토스트 ... ;-) 그래서 당신은 아마 당신이 monkeypath를 원할 것입니다 create_connection
겸손한 접근 방식으로 직접.
제휴하지 않습니다 StackOverflow