Python 发送不带'的HTTP响应;t更改用户';s当前页面
我有一个JavaScript bookmarklet,当用户在其他页面(即,我的服务器上没有一个页面)时,它会将信息发布到(烧瓶驱动的)服务器。我不想用我的服务器响应劫持用户的会话,从而中断用户的浏览 我最初的想法是,我可以以某种方式抑制来自Flask的HTTP响应;阻止它向客户端发送任何内容,这样它们就不会被神秘地重定向。我希望我可以通过从视图返回空值来实现这一点Python 发送不带'的HTTP响应;t更改用户';s当前页面,python,flask,httpresponse,wsgi,Python,Flask,Httpresponse,Wsgi,我有一个JavaScript bookmarklet,当用户在其他页面(即,我的服务器上没有一个页面)时,它会将信息发布到(烧瓶驱动的)服务器。我不想用我的服务器响应劫持用户的会话,从而中断用户的浏览 我最初的想法是,我可以以某种方式抑制来自Flask的HTTP响应;阻止它向客户端发送任何内容,这样它们就不会被神秘地重定向。我希望我可以通过从视图返回空值来实现这一点 然后我认为可能是某种HTTP响应,它让客户机知道信息已成功提交,但会将客户机留在当前页面上。假设标题值为“这是您请求的结果,但您不
然后我认为可能是某种HTTP响应,它让客户机知道信息已成功提交,但会将客户机留在当前页面上。假设标题值为“这是您请求的结果,但您不应更改当前显示”?不,这是不可能的。Flask构建在Werkzeug之上,Werkzeug实现了WSGI规范。WSGI周期需要发送对每个请求的响应。删除响应将需要对TCP/IP连接进行控制,控制级别甚至比HTTP低得多。这在WSGI的域之外,因此在Flask的域之外 您可以返回错误代码或空正文,但必须返回某些内容
不,这是不可能的。Flask构建在Werkzeug之上,Werkzeug实现了WSGI规范。WSGI周期需要发送对每个请求的响应。删除响应将需要对TCP/IP连接进行控制,控制级别甚至比HTTP低得多。这在WSGI的域之外,因此在Flask的域之外 您可以返回错误代码或空正文,但必须返回某些内容
回答你的修正问题,是的,有这样的回答。起自(加强调): 10.2.5 204无内容 服务器已完成请求,但不需要返回 实体主体,并且可能希望返回更新的元信息。这个 响应可能包括以下形式的新的或更新的元信息: 实体标题,如果存在,则应与 请求的变体 如果客户端是用户代理,则不应更改其文档视图 来自导致发送请求的源。这一回应是正确的 主要目的是允许输入操作,而无需 导致更改用户代理的活动文档视图,但 任何新的或更新的元信息都应应用于文档 当前在用户代理的活动视图中 204响应不能包括消息体,因此总是 由标题字段后的第一个空行终止 因此,从烧瓶中你可以做这样的事情。请记住,响应不能包含消息体,因此您要发回的任何数据都应该放在cookie中
@app.route('/')
def index():
r = flask.Response()
r.set_cookie("My important cookie", value=some_cool_value)
return r, 204
回答你的修正问题,是的,有这样的回答。起自(加强调): 10.2.5 204无内容 服务器已完成请求,但不需要返回 实体主体,并且可能希望返回更新的元信息。这个 响应可能包括以下形式的新的或更新的元信息: 实体标题,如果存在,则应与 请求的变体 如果客户端是用户代理,则不应更改其文档视图 来自导致发送请求的源。这一回应是正确的 主要目的是允许输入操作,而无需 导致更改用户代理的活动文档视图,但 任何新的或更新的元信息都应应用于文档 当前在用户代理的活动视图中 204响应不能包括消息体,因此总是 由标题字段后的第一个空行终止 因此,从烧瓶中你可以做这样的事情。请记住,响应不能包含消息体,因此您要发回的任何数据都应该放在cookie中
@app.route('/')
def index():
r = flask.Response()
r.set_cookie("My important cookie", value=some_cool_value)
return r, 204
你的客户端将徒劳地等待,你为什么要这样做呢?如果你以某种方式强迫Flask这样做,当浏览器厌倦了等待一段时间后,它最终会超时response@nzjk2-这是一个临时解决办法。我正在使用Javascript bookmarklet向服务器获取信息。此时,“客户端”浏览器位于我无法控制的页面上。不是我的页面,我不想通过劫持用户的会话来中断用户的浏览。稍后,我希望将此操作封装在plug-in.IanAuld中—请参阅我对上面nzjk2的响应。我正在寻找一种通过http将数据发送到服务器而不需要服务器响应的方法。您试图解决的问题是什么?您的客户端将徒劳地等待,你为什么要这么做?如果你强迫Flask这么做,当它厌倦了等待一个response@nzjk2-这是一个临时解决办法。我正在使用Javascript bookmarklet向服务器获取信息。此时,“客户端”浏览器位于我无法控制的页面上。不是我的页面,我不想通过劫持用户的会话来中断用户的浏览。稍后,我希望将此操作封装在plug-in.IanAuld中—请参阅我对上面nzjk2的响应。我正在寻找一种通过http将数据发送到服务器而不需要服务器响应的方法。您试图解决的问题是什么?Dannno-这就是我正在寻找的。在阅读了你的答案之后,很明显,我应该在重述了我的问题之后再看RFC-2616文档。这解决了我在HTTP和Flask方面的问题。谢谢。丹诺-这就是我要找的。在阅读了你的答案之后,很明显,我应该在重述了我的问题之后再看RFC-2616文档。这解决了我在HTTP和Flask方面的问题。谢谢