我已经部署了一个基于烧瓶的 python 应用程序PythonAnywhere。它包含一个需要以下请求标头的 API:
app_name: <app-name>
app_key: <app-key>
下面是代码:
@app.route('/api/app/get_id', methods=['POST'])
def get_id():
try:
if 'app_name' and 'app_key' in request.headers:
"""
SOME CODE
"""
else:
return jsonify({"status": "unauthorized", "error": "authentication parameters missing"}), 401
except Exception as e:
log.error("Exception occurred {}".format(e))
如您所见,它需要app_name和app_key. 如果在标头中未找到,则 API 仅返回错误。我从邮递员那里调用这个 API 并包含了app_name和app_key:
但它总是抛出error authentication parameters missing. 在我的本地测试中,它运行良好。我还尝试通过将日志记录如下进行调试:
@app.route('/api/app/get_id', methods=['POST'])
def get_id():
try:
log.error(request.headers) # <-- logging
if 'app_name' and 'app_key' in request.headers:
"""
SOME CODE
"""
else:
return jsonify({"status": "unauthorized", "error": "authentication parameters missing"}), 401
except Exception as e:
log.error("Exception occurred {}".format(e))
但是日志文件app_name中app_key也不存在。看起来由于某种原因PythonAnywhere不接受这些请求标头。有谁知道问题是什么,我该如何解决。请帮忙。谢谢
jeck猫
相关分类