Izy
@Izy
Учу

Пытаюсь подклчится через прокси к imap но не получается. В чем ошибка?

У меня есть такой код который у меня скачивает почту и сортрует мне по папкам всяким и я хочу делать это через купленный прокси
но я по каким то причинам не могу подключится. На данноп этапе пишит ошибку вот такую :
Socket error: 0x06: TTL expired

Вобщем как мне предопределить метод чтобы подключатся к impap через прокси, в чем моя ошибка?

from imaplib import IMAP4, IMAP4_PORT, IMAP4_SSL_PORT,IMAP4_SSL
from socks import socksocket, PROXY_TYPE_SOCKS4, PROXY_TYPE_SOCKS5, PROXY_TYPE_HTTP
import ssl

class SOCKS_IMAP4_SSL(IMAP4_SSL):
    def __init__(self, host, port = IMAP4_SSL_PORT, proxy = None,):
            self.proxy = proxy
            self.proxy_type = PROXY_TYPE_SOCKS5
            IMAP4_SSL.__init__(self, host, port)
    def open(self, host, port=IMAP4_SSL_PORT):
        self.host = host
        self.port = port
        self.sock = socksocket()
        #actual privoxy default setting, but as said, you may want to parameterize it

        if self.proxy and self.proxy_type:
            proxy_ip,proxy_port = self.proxy.split(':')
            print('*')
            self.sock.setproxy(self.proxy_type, proxy_ip,int(proxy_port))
        print('**')
        self.sock.connect((host,port))
        print('777')
        self.sslobj = ssl.wrap_socket(self.sock, self.keyfile, self.certfile)

        self.file = self.sslobj.makefile('rb')



def imap_check_all(login, password,proxy_type, proxy,  imap_server='imap.mail.ru'):
    mail = SOCKS_IMAP4_SSL(imap_server,proxy_type, proxy)
    mail.login(login, password)
    ... дальше код проверяющий и сортирующий почту по папкам ....
    
accaunt_doc='мой аккаунт'
прокси='мой прокси'
imap_check_all(login, password,PROXY_TYPE_SOCKS5,proxy_ip)

P.S. Прокси точно работает я вроде как проверял его
  • Вопрос задан
  • 1948 просмотров
Решения вопроса 1
Izy
@Izy Автор вопроса
Учу
Вопрос закрываю нашел отличный код на гит хаб
https://gist.github.com/sstevan/efccf3d5d3e73039c2...

очень понятный, и достойный, вечерком поподробнее разберусь в нем.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
сетапишь на локалке socks прокси
тестишь через него
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы