【发布时间】:2011-12-18 15:30:50
【问题描述】:
这就是我想要的。
- 向外部站点提交 POST 请求(即登录信息)。
- 接收响应
- 将原始响应返回到我的客户端浏览器(包含用于登录的 cookie
验证)。 - 如果客户尝试在新标签页中访问该网站,他会发现自己已经登录。
我成功完成了第 1 步和第 2 步(提交了 POST 并收到了网站的回复)。
request = urllib2.Request(url, formData, headers)
response = urllib2.urlopen(request)
但是当我尝试在视图中返回它时
return response
我收到以下错误
Django Version: 1.3.1
Exception Type: AttributeError
Exception Value: addinfourl instance has no attribute 'has_header'
Exception Location:D:\Python27\lib\site-packages\django\utils\cache.py in patch_vary_headers
注意: 我之前有一个 csrf 错误,但是我使用装饰器 @csrf_exempt 禁用了 csrf 并且错误消失了
【问题讨论】:
-
所以换句话说,你想执行一个中间人攻击。
-
我是上述外部网站的授权用户。我只是无法访问他们的代码。
-
可以理解。但原理是一样的。如果您的“解决方案”涉及与安全漏洞相同的想法,那可能不是一个好主意。