Я развернул flask приложение 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
:
![enter image description here](https://i.stack.imgur.com/apJ0T.jpg)
Но он всегда выдает 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
не принимает эти заголовки запроса. Кто-нибудь знает в чем проблема и как я могу ее решить. Пожалуйста помоги. Спасибо