Como associar um endereço IP para telnetlib em Python
-
19-09-2019 - |
Pergunta
O código a seguir liga um endereço IP para 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
É também capaz de ligar um endereço IP para telnetlib?
Solução
telnetlib
pelo menos em recente Python libera usos socket.create_connection
(ver fontes de telnetlib aqui ), mas que também deve ser apanhado pelo seu monkeypatch (fontes aqui - você verá que ele usa uma socket
identificador nua, mas isso é exatamente no módulo que você está monkeypatching). Claro monkeypatching é sempre extremamente frágil (a optimização mais ínfimo em algum lançamento futuro, içando a pesquisa global socket
em create_connection
, e você está frito ... ;-) então talvez você vai querer create_connection
monkeypath diretamente como um modestly- abordagem mais forte.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow