python - 在Python中,如何使用参数将用户转发到外部服务器?

标签 python google-app-engine redirect

我编写了 Python 代码(在 Google App Engine 上),该代码从我的服务器转发用户,允许用户登录并通过 OAUTH 提供对其 Twitter 帐户的访问权限,然后重定向回我的服务器 ( http://www.website.com )。我的代码运行良好。

我的所有 Python 代码都在第一台服务器 (http://www.website.com) 中运行。但是,我随后希望使用参数将用户重定向到第三台服务器 ( http://www.example.com )。我尝试了以下方法:

import flask

var1 = 'abcdef12345' #For simplicity, these are hard coded 
var2 = 'def4321' #However, in the real script they're dynamically created
var3 = 'qwerty98765'

THIRD_SERVER_URL = "http://www.example.com/entrance" 
return flask.redirect(url_try(THIRD_SERVER_URL, _external=True, x1=var1, x2=var2, x3=var3))

我希望代码将用户重定向到“http://www.example.com/entrance?x1=abcdef12345&x2=def4321&x3=qwerty98765”。但是,我却收到 500 内部服务器错误

我也尝试过:

import webapp2  

return self.redirect(THIRD_SERVER_URL + "?x1=" + var1 + "&x2=" + var2 + "&x3=" + var3)

但是,这也失败了,并出现相同的错误 500。

有谁知道 Python 中将用户转发(重定向?)到带有参数的外部 URL 的最佳选项是什么?

最佳答案

堆栈跟踪错误日志对 500 有何说明?

Flask 的重定向仅接受 url 和响应代码(302 等)。 (url_try 在哪里定义的?)您应该能够执行以下操作:

from flask import redirect
...
...
return redirect(THIRD_SERVER_URL + "?x1=" + var1 + "&x2=" + var2 + "&x3=" + var3, 302)

关于python - 在Python中,如何使用参数将用户转发到外部服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41054282/

相关文章:

python - 自定义 matplotlib 图形的默认工具栏图标图像

python - 在 App Engine 中从一个 RequestHandler 发送到另一个 RequestHandler

google-app-engine - AppEngine dev_appserver - localhost url 的 urllib2.urlopen 问题

javascript - Rails 4 Controller 重定向不加载javascript

python - 如何在python的dict继承中使用items()和values()强制调用__getitem__

python - 比较列表列表的元素并返回列表

python - 在 Linux 中调试 Python 文件

node.js - 谷歌应用程序引擎如何控制实例nodejs的数量

reactjs - 如果 URL 无效,如何重定向到主页?

python - Django注册打开其他模板