
18.11.2009, 11:30
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Бла-бла-бла
От пиздёжа к делу.
Необходима socksipy :
Код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import poplib
import socks
def create_connection((host, port), timeout):
proxy_addr = "0.0.0.0"#Адрес прокси-сервера
proxy_port = 8080#Порт прокси-сервера (типа int)
proxy_type = 3#Тип прокси-сервера (1-SOCKS5, 2-SOCKS4, 3-HTTP с разрешенным методом CONNECT)
soket = socks.socksocket() #Создание обьекта socksocket из socksipy
soket.setproxy(proxytype=proxy_type, addr=proxy_addr, port=proxy_port)#Установка прокси для него
soket.connect((host, port))#Вызов его метода connect
return soket#Возврат сокета из функции
poplib.socket.create_connection = create_connection
Вот тебе манкипатч.
После него пишешь весь свой код (естественно не импортируя повторно poplib  )
Проверил только что.
Как уже видно, он патчит метод create_connection из модуля socket, этот метод в библиотеке используется один раз - в атрибуте, который я указал выше.
Вроде работает.
Для себя - самое то, большего не нужно.
Для использования в более высоких целях - не катит ибо там саму socksipy нужно патчить под голимые пабликовые прокси.
|
|
|