【发布时间】:2010-10-08 08:57:45
【问题描述】:
我需要在 Django 中实现 HTTP 代理,而我的 Google safari 将我带到了一个名为 django-webproxy 的项目。
虽然不再维护,但很简单。大部分逻辑依赖于一个简单的代理中间件类,该类拦截所有对 Django WSGI 服务器的请求并进行处理。
如果中间件返回任何数据,WSGI 服务器简单地将其传回给客户端,但如果它什么都不返回,Django 只是通过传递给其他中间件来处理请求。
一切正常,非常好,但我需要实现代理身份验证,这意味着我必须使用 Proxy-Authenticate 标头向客户端发送 407 状态代码。 Django 不允许这样做,因为它是逐跳标头,并且 Django 会引发异常。我怎样才能破解/强制/kludge Django 允许我逐跳发送标头?
仅供参考,中间件类的代码可以在here找到。
【问题讨论】: