2014-01-13 72 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應該工作