Обновление Звучит так, будто вы хотите подключиться к прокси-серверу A и оттуда инициировать HTTP-соединения через прокси-серверы B, C, D, находящиеся за пределами A. Вы можете заглянуть в проект proxychains, в котором говорится, что он может "туннелировать любой протокол через определенную пользователем цепочку TOR, SOCKS 4/5 и HTTP прокси".
Версия 3.1 доступна в виде пакета в Ubuntu Lucid.Если он не работает напрямую для вас, исходный код прокси-цепочки может дать некоторое представление о том, как эта возможность может быть реализована для вашего приложения.
Orig answer :Проверьте urllib2.ProxyHandler .Вот пример того, как вы можете использовать несколько разных прокси для открытия URL:
import random
import urllib2
# put the urls for all of your proxies in a list
proxies = ['http://localhost:8080/']
# construct your list of url openers which each use a different proxy
openers = []
for proxy in proxies:
opener = urllib2.build_opener(urllib2.ProxyHandler({'http': proxy}))
openers.append(opener)
# select a url opener randomly, round-robin, or with some other scheme
opener = random.choice(openers)
req = urllib2.Request(url)
res = opener.open(req)