Scrapy:如何设置HTTP代理以连接到HTTPS网站(HTTP有效)?

时间:2014-01-13 15:03:53

标签: python scrapy

我正在使用中间件启用这样的代理:

我在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 个答案:

答案 0 :(得分:1)

您需要为 http https 启用代理。例如,在Windows中,您可以直接从shell中执行此操作,如

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

答案 1 :(得分:0)

Scrapy 0.24对Twisted 15.0.0有一些麻烦所以https抛出代理不起作用。卸载扭曲并安装twis​​ted 14.0.0应该可以正常工作