Я смотрел на похожие вопросы, но, похоже, всегда было много разногласий по поводу лучшего способа обработки потоков с помощью HTTP.
Что я конкретно хочу сделать: я использую Python 2.7, и я хочу попробовать потоковые HTTP-запросы (в частности, POSTing что-то) с прокси SOCKS5 для каждого. У меня уже работает код, но он довольно медленный, поскольку он ожидает завершения каждого запроса (к прокси-серверу, а затем к веб-серверу), прежде чем запускать другой. Скорее всего, каждый поток будет делать разные запросы с разными прокси-серверами SOCKS.
Пока я просто использовал urllib2. Я посмотрел на такие модули, как PycURL, но крайне трудно правильно установить Python 2.7 на Windows, который я хочу поддерживать и на котором я пишу код. Я бы хотел использовать любой другой модуль.
В частности, я рассмотрел следующие вопросы:
Python urllib2.urlopen () работает медленно, требуется лучший способ чтения нескольких URL
Python - Пример асинхронного / потокового запроса urllib2 с использованием HTTPS
Многие из примеров получили отрицательные отзывы и аргументы. Предполагая, что комментаторы верны, создание клиента с асинхронной структурой, такой как Twisted, кажется, что это будет самая быстрая вещь для использования. Тем не менее, я свирепо погуглил, и он не предоставляет никакой поддержки для прокси SOCKS5. В настоящее время я использую модуль Socksipy, и я могу попробовать что-то вроде:
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, IP, port)
socks.wrapmodule(twisted.web.client)
Я понятия не имею, сработает ли это, хотя и я даже не знаю, действительно ли Twisted - это то, что я действительно хочу использовать. Я также мог бы просто пойти с модулем потоков и добавить его в мой текущий код urllib2, но если это будет намного медленнее, чем в Twisted, я не хочу беспокоиться. У кого-нибудь есть понимание?