
20.11.2009, 13:11
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от cupper
выкладывай, думаю лишнем не будет.
А что ты подразумеваешь под "модифицированной" библиотекой ? Это переопределенные функции в самом коде скрипта (по типу как ты сделал create_connection) или в самой библиотеке поправлено что то ?
Это замена метода __init__
на вот такой :
Код:
def __init__(self, host, port=POP3_PORT,
timeout=socket._GLOBAL_DEFAULT_TIMEOUT, proxytype=None, proxyaddr=None, proxyport=None):
self.host = host
self.port = port
self.sock = socks.socksocket()
self.sock.setproxy(proxytype=proxytype, addr=proxyaddr, port=proxyport, rdns=True)
self.sock.connect((host, port))
if isinstance(timeout, int) or isinstance(timeout, str) or isinstance(timeout, float):
self.sock.settimeout(float(timeout))
self.file = self.sock.makefile('rb')
self._debugging = 0
self.welcome = self._getresp()
И добавление пары дополнительных атрибутов в саму poplib
Код:
HTTP_PROXY = socks.PROXY_TYPE_HTTP
SOCKS4_PROXY = socks.PROXY_TYPE_SOCKS4
SOCKS5_PROXY = socks.PROXY_TYPE_SOCKS5
Пример использования :
Код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sockspoplib
proxy_addr = "10.10.31.103"
proxy_type = sockspoplib.HTTP_PROXY
proxy_port = 3128
SERVER = "pop.mail.ru"
p = sockspoplib.POP3(SERVER, proxytype=proxy_type, proxyaddr=proxy_addr, proxyport=proxy_port)
print p.getwelcome()
Авторизация на прокси добавляется добавлением дополнительных параметров, но в твоих целях это неважно.
П.С. Прокси-чекером не обрадую, ибо таки по ходу снес. Гляну еще дома - мб там завалялось.
Последний раз редактировалось login999; 20.11.2009 в 13:16..
|
|
|