Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scrapy:如何设置HTTP代理以连接到HTTPS网站(HTTP工作)?_Python_Scrapy - Fatal编程技术网

Python Scrapy:如何设置HTTP代理以连接到HTTPS网站(HTTP工作)?

Python Scrapy:如何设置HTTP代理以连接到HTTPS网站(HTTP工作)?,python,scrapy,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_PRO

我正在使用一个中间件来启用如下代理:

我在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'>>]
[]

您需要同时为httphttps启用代理。例如,在Windows中,您可以直接从类似于shell的

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

Scrapy 0.24在Twisted 15.0.0中遇到一些问题,因此https抛出代理无法工作。卸载twisted和安装twisted 14.0.0应该可以工作