Wie eine IP-Adresse telnetlib in Python binden
-
19-09-2019 - |
Frage
Der folgende Code bindet eine IP-Adresse zu urllib, urllib2, etc.
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
Ist es auch in der Lage eine IP-Adresse telnetlib zu binden?
Lösung
telnetlib
zumindest in den letzten Python Versionen Anwendungen socket.create_connection
(telnetlib der Quellen hier ) aber das sollte auch durch Ihre monkeypatch (Quellen: hier - Sie werden sehen, es mit einem nackten Kennung socket
verwendet, aber das ist genau das in dem Modul Sie sind monkeypatching). Natürlich ist monkeypatching immer äußerst fragil (die kleinste Optimierung in einem zukünftigen Release, die globale Nachschlag von socket
in create_connection
Hissen, und du bist Toast ... ;-) so vielleicht werden Sie monkeypath create_connection
wollen direkt als modestly- stärkere Annäherung.