Scrapy: Как настроить HTTP-прокси для подключения к веб-сайтам HTTPS (HTTP работает)?

Я использую промежуточное программное обеспечение для включения прокси, как это:

У меня есть это в settings.py

HTTP_PROXY='127.0.0.1:8080'

Это мое промежуточное ПО

from mybot.settings import HTTP_PROXY

class ProxyMiddleware(object):
      def process_request(self, request, spider):
          request.meta['proxy'] = 'http://%s' % HTTP_PROXY

Он отлично работает для HTTP-сайтов, но не для HTTPS. Что я делаю неправильно? Я проверил прокси с помощью curl, и он может без проблем подключиться к HTTPS.

Это ошибка:

[<twisted.python.failure.Failure <class 'twisted.internet.error.ConnectionDone'>>]

2 ответа

Вам нужно включить прокси для http и https. Например, в Windows вы можете сделать это прямо из оболочки, как

set http_proxy = 127.0.0.1:8080
set https_proxy = 127.0.0.1:8080

У Scrapy 0.24 есть некоторые проблемы с Twisted 15.0.0, поэтому https throw proxy не работает. Удаление Twisted и установка Twisted 14.0.0 должны работать

Другие вопросы по тегам