2014-01-13 54 views
1

我使用中间件,以使这样的代理: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'>>] 

回答

1

您需要启用代理服务器的HTTP HTTPS 。例如,在Windows中,您可以直接从壳做这样

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

Scrapy 0.24有一些麻烦与扭曲15.0.0所以HTTPS代理扔不工作。卸载扭曲和安装扭曲14.0.0应该工作