Python 用于回调的本地服务器 URL
Python Local Server For Callback URL
我正在开发一个 oauth 项目,该项目要求我有一个回调 url,可以在成功授权后加载该回调以请求访问令牌,但我不确定如何 运行 该服务器以正确的方式。我熟悉有用的单行 python 服务器设置 python -m http.server
,但这只会加载我启动服务器的目录,并充当在该目录中导航文件的服务器。
是否有更好的方法来设置可用于此重定向过程并进行我需要的额外服务器调用的简单服务器?我需要使用像 Django 这样的网络框架吗?
使用 python -m http.server
您只能提供静态文件,但您需要 运行 一些获取参数并使用它的代码。
您可以在 python -m http.server --cgi
中使用选项 --cgi
然后您可以将脚本(任何语言)放入文件夹 cgi-bin
和 运行 http://localhost/cgi-bin/script.py
.
但是 CGI
的方法非常古老,使用一些网络 microframework
会容易得多,比如 Flask
或 bottle
script.py
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
print('args:', request.args) # display text in console
#print('form:', request.form)
#print('data:', request.data)
#print('json:', request.json)
#print('files:', request.files)
return request.args.get('data', 'none') # send text to web browser
if __name__ == '__main__':
app.run(port=80, debug=True)
和运行它作为python script.py
并在网络浏览器中测试
http://127.0.0.1/?data=qwerty
而 request.args.get("data")
应该会给你 qwerty
,你可以在 Python 代码中使用它。
我正在开发一个 oauth 项目,该项目要求我有一个回调 url,可以在成功授权后加载该回调以请求访问令牌,但我不确定如何 运行 该服务器以正确的方式。我熟悉有用的单行 python 服务器设置 python -m http.server
,但这只会加载我启动服务器的目录,并充当在该目录中导航文件的服务器。
是否有更好的方法来设置可用于此重定向过程并进行我需要的额外服务器调用的简单服务器?我需要使用像 Django 这样的网络框架吗?
使用 python -m http.server
您只能提供静态文件,但您需要 运行 一些获取参数并使用它的代码。
您可以在 python -m http.server --cgi
中使用选项 --cgi
然后您可以将脚本(任何语言)放入文件夹 cgi-bin
和 运行 http://localhost/cgi-bin/script.py
.
但是 CGI
的方法非常古老,使用一些网络 microframework
会容易得多,比如 Flask
或 bottle
script.py
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
print('args:', request.args) # display text in console
#print('form:', request.form)
#print('data:', request.data)
#print('json:', request.json)
#print('files:', request.files)
return request.args.get('data', 'none') # send text to web browser
if __name__ == '__main__':
app.run(port=80, debug=True)
和运行它作为python script.py
并在网络浏览器中测试
http://127.0.0.1/?data=qwerty
而 request.args.get("data")
应该会给你 qwerty
,你可以在 Python 代码中使用它。