我在创建和执行来自flask@app.route的post请求时遇到一些问题。其思想是验证和处理服务器从web表单接收到的数据,然后使用此数据作为post参数调用远程服务,最后重定向到此远程服务指示的新页面。这是一个简化的框架:
import requests
@app.route('/test', methods=['POST'])
url = 'http://exemple.com'
headers = {'Content-type': 'text/html; charset=UTF-8'}
response = requests.post(url, data=data, headers=headers)
return x
关于我应该如何使用post请求将用户重定向到远程服务的任何提示(该用户将再次被远程服务重定向到另一页)?
提前谢谢你。
使用您的用户数据发送post请求。然后分析响应以获取链接。
一旦你有了重定向链接。。。简单使用:
return redirect(new_destination, code=302)
不需要将用户重定向到远程服务器。只需在该路由函数中发送POST请求,然后等待该服务器的响应,然后将一些模板呈现给具有接收到的响应的用户或如果知道响应可能需要很长时间,则在另一个线程中将POST请求发送到所需的服务器(在这种情况下,您可以呈现一些页面立即出现“正在处理您的请求”消息。在第二种情况下(在另一个线程中发送POST请求的情况下),您可以在从主线程中的某个共享对象检索页面后显示请求的结果,该共享对象可以从用于发送POST请求的线程进行修改。
1)在进路功能中发送请求:
2)在不同的线程中发送POST请求(如果知道响应时间远高于TCP保持活动时间,则可以使用此选项):
或者类似的事情。
希望我的解释清楚。
您还可以注意asyncio和Sanic来使用异步方法。
相关问题 更多 >
编程相关推荐