【问题标题】:Redirection using WSGIref使用 WSGIref 进行重定向
【发布时间】:2012-07-19 06:06:26
【问题描述】:

我正在开发一个玩具网络框架,并且我已经实现了一个方法 redirect_to 用于将用户重定向到指定的 URL。代码在这里

def _redirect_to(_self, _url):
  """Takes an url as argument and returns a location header"""

  return ([('Location', _url)], "")                   # --- (i)

返回的元组然后由应用程序处理,这是代码

...
else:                                                             
  status = '200 OK'                                               
  params['_GET'] = get_data(_environment)                         
  params['_POST'] = post_data(_environment)                       
  (headers, response) = objview(objcontroller, _params = params)  # tuple from (i) is stored here

_start_response(status, headers)

但是它不起作用。以下是我的浏览器收到的标头:

Content-Length:0
Date:Thu, 19 Jul 2012 06:03:52 GMT
Location:http://google.com
Server:WSGIServer/0.1 Python/2.7.3

标题有问题吗??

干杯,

乌萨夫

【问题讨论】:

  • 重定向回复的状态码是什么?如果如上面代码所示为 200,则这是错误的。重定向是通过“Location”标头 302(已找到)状态码完成的。

标签: python wsgi


【解决方案1】:

要进行 HTTP 重定向,您需要两者:

  • 'Location'HTTP 头
  • '302 Found'HTTP 状态码

您似乎没有将 HTTP 状态代码从 200 更改为 302。

【讨论】:

    猜你喜欢
    • 2015-10-08
    • 1970-01-01
    • 2023-03-31
    • 2018-09-05
    • 2011-08-29
    • 2014-08-30
    • 2016-09-15
    • 2017-04-15
    相关资源
    最近更新 更多