我正在使用中间件启用这样的代理:
我在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'>>]
答案 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抛出代理不起作用。卸载扭曲并安装twisted 14.0.0应该可以正常工作