문제

아래 코드는 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 겸손한 접근 방식으로 직접.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top