我有一个HTTPS
代理用python编写。所有工作,直到我使代理透明。我将80
和443
端口重定向到8888
(代理端口)。现在只有请求超过HTTP
的作品,当我请求HTTPS
网站时,我在服务器上得到400
和401
错误。有任何想法吗?当我通过HTTPS
发出请求时,我在代理端(日志)看到加密文本,并且我看不到任何CONNECT
请求。python https代理错误代码400,401
代理在这个地址:https://github.com/allfro/pymiproxy
但我已经改变了一点作为一个透明的代理工作:
def _connect_to_host(self):
# Get hostname and port to connect to
if self.is_connect:
self.hostname = self.getheader('host')
self.port = '443'
#self.hostname, self.port = self.path.split(':')
else:
self.path = "http://" + self.headers.getheader('host') + self.path
u = urlparse(self.path)
您可以发布代理代码? – emcas88
我不确定我们可以提供任何有用的建议,而无需看到一些代码,但您可能需要阅读此链接http://wiki.squid-cache.org/Features/HTTPS。试图代理HTTPS有相当的复杂性,并且您可能会遇到python代理代码中的设计缺陷。那篇文章可能会帮助 – user590028
我编辑了这个问题。 –