Come associare un indirizzo IP a telnetlib in Python
-
19-09-2019 - |
Domanda
Il codice di seguito si lega un indirizzo IP al urllib, urllib2, ecc.
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
E 'anche in grado di legare un indirizzo IP al telnetlib?
Soluzione
telnetlib
almeno nelle versioni più recenti di Python utilizza socket.create_connection
(vedi fonti di telnetlib qui ) ma che dovrebbe anche essere catturati dal vostro monkeypatch (fonti qui - vedrete che utilizza un identificatore socket
spoglia ma questo è esattamente nel modulo che stai monkeypatching). Naturalmente monkeypatching è sempre estremamente fragile (l'ottimizzazione più piccolo in un futuro rilascio, issare la ricerca globale di socket
in create_connection
, e si sta brindisi ... ;-) così forse ti consigliamo di monkeypath create_connection
direttamente come modestly- approccio più forte.