Pregunta

El código de abajo se une una dirección IP a 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

¿Es también capaz de unirse a una dirección IP a telnetlib?

¿Fue útil?

Solución

telnetlib al menos en las versiones recientes de Python utiliza socket.create_connection (ver fuentes de telnetlib aquí ), sino que también deben ser capturado por su monkeypatch (fuentes aquí - verá que utiliza un identificador socket desnuda, pero eso es exactamente en el módulo que está monkeypatching). Por supuesto monkeypatching es siempre extremadamente frágil (la optimización más pequeño en alguna versión futura, izando la búsqueda mundial de socket en create_connection, y estás frito ... ;-) así que tal vez querrá monkeypath create_connection directamente como modestly- enfoque más fuerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top