无法在 PythonAnywhere 上获取 Flask python API 的请求标头

安德鲁

我已经在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_nameapp_key如果未在标头中找到,则 API 仅返回错误。我从邮递员那里调用了这个 API,并且包含了app_nameapp_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_nameapp_key也没有出现在日志文件中。看起来由于某种原因PythonAnywhere不接受这些请求标头。有谁知道是什么问题,我该如何解决。请帮忙。谢谢

格伦

'app_name' and 'app_key' 在 Python 中计算为 True,因此您的 if 语句询问是否关键 True 在标题中,它可能不是。

尝试使用 if 'app_name' in request.headers and 'app_key' in request.headers'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Flask API获取“请求的资源上不存在'Access-Control-Allow-Origin'标头”

无法从请求获取HTTP标头

在生产阶段无法获取标头请求Rails 5 API(AWS elasticbeanstalk)

无法从 ASP.NET Web API 中的 jQuery AJAX 请求获取标头

无法在ASP Net Core Web API中获取请求标头

Flask Web应用程序无法在PythonAnywhere上呈现

Python 和 seleniumrequests 获取请求标头

根据请求返回的 Flask REST api 标头以及标头究竟是什么

以与Flask中接收的相同顺序获取请求标头

无法加载http://127.0.0.1:8000/api/users:请求的资源上不存在“ Access-Control-Allow-Origin”标头

无法使用 axios 发送带有标头的获取请求

无法从Golang http请求获取位置标头

Laravel无法在nginx的请求中获取参数标头

无法在WKWebView POST请求上设置标头

如何使用C#从API中的请求获取标头

Python请求标头显示“ 301”,而获取返回“ 200”

如何使用python拥抱获取请求标头

PythonAnywhere上Flask的日志记录格式

Python API 无法使用 aiohttp 获取请求

无法在请求库中发送带有标头的获取请求

如何在pythonanywhere上使用python和flask创建Web表单

Javascript / Flask-请求的资源上不存在“ Access-Control-Allow-Origin”标头

无法获取 HTTP 标头

无法在其余Web API中读取请求标头值

尝试从REST API获取数据时,请求的资源上没有“ Access-Control-Allow-Origin”标头

使用 Python 请求库从单个 GET 请求中获取标头和内容

如何从HTTP触发的Python Azure Function请求标头获取请求主机名?

从freemarker获取请求标头

使用python向Stackoverflow API发出请求时,如何通过标头传递我的API密钥