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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top