es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conectando un proxy a un script de Python utilizando el módulo Telethon.

Necesito obtener el proxy del archivo proxy.txt:

ip:puerto:nombre_de_usuario:contraseña

y agregarlo al código:

file = dbm_base()
api_id = int(file[‘api_id4’].decode())
api_hash = file[‘api_hash4’].decode()
client = TelegramClient(‘client4’, api_id, api_hash, proxy=(socks.SOCKS5, ‘ip’, puerto, ‘nombre_de_usuario’, ‘contraseña’))#puerto sin comillas simples

Estoy haciendo esto:

with open(‘proxy.txt’, ‘r’) as f:
proxys = f.readline().split(“:”)

file = dbm_base()
api_id = int(file[‘api_id4’].decode())
api_hash = file[‘api_hash4’].decode()
s = socks.socksocket()
client = TelegramClient(‘client1′, api_id, api_hash, proxy=s.set_proxy(socks.HTTP, f'{proxys[0]}’, int(proxys[1]), f'{proxys[2]}’, f'{proxys[3]}’))

Pero el servidor proxy no se conecta al script.

¿Qué hice mal y por qué el servidor proxy no se está conectando?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Podría haber varias razones por las que el servidor proxy no se está conectando. Es posible que la configuración del servidor proxy sea incorrecta o que el propio servidor esté caído. Sin embargo, un posible problema con el código es que el objeto socks.socksocket() en realidad no se está utilizando como proxy de TelegramClient.

    En lugar de crear un objeto socks.socksocket(), puedes pasar directamente la información del proxy al TelegramClient(). El código actualizado debería verse así:

    with open('proxy.txt', 'r') as f:
        proxys = f.readline().split(":")
    
    file = dbm_base()
    api_id = int(file['api_id4'].decode())
    api_hash = file['api_hash4'].decode()
    proxy = (socks.SOCKS5, proxys[0], int(proxys[1]), proxys[2], proxys[3])
    client = TelegramClient('client1', api_id, api_hash, proxy=proxy)
    

    Asegúrate de que la configuración del proxy en el archivo proxy.txt sea correcta y de que el servidor esté disponible.

Comments are closed.