2010-03-14 2 views
1
에 telnetlib에 IP 주소를 바인딩하는

아래 코드 등는 파이썬

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 

URLLIB에 IP 주소, urllib2를, 또한 telnetlib에 IP 주소를 바인딩 할 수있는 바인딩?

답변

2
적어도 최근 파이썬 릴리스

telnetlibsocket.create_connection (참조 telnetlib의 소스 here) 그러나 그것은 또한 당신의 monkeypatch에 의해 체포해야 사용 (소스 here - 당신은 베어 식별자 socket를 사용하여 볼 수 있지만,이 모듈에 정확히 당신 다시 monkeypatching). 물론 monkeypatching은 항상 매우 취약합니다. (어떤 미래의 릴리스에서 가장 작은 최적화, create_connectionsocket의 글로벌 조회를 끌어 올리면 토스트가됩니다 ... ;-) 그래서 어쩌면 당신은 monkeypath create_connection을 겸손하게 - 더 강한 접근법.