如何在Python中使用Flask解决403错误?

Har*_*hIT 37 python rest macos flask

我在mac中使用python Flask制作了一个简单的服务器。请找到下面的代码。

from flask import Flask

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def hello():
    print("request received")
    return "Hello world!"

    
if __name__ == "__main__":
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

我使用命令运行它python3 main.py

当使用 GET / POST 方法从 Postman 的 url 上调用上述 API 时 http://localhost:5000/,它总是返回 http 403 错误。

Python版本:3.8.9

操作系统:Mac操作系统12.4

烧瓶:2.1.2

Gee*_*bhu 78

Mac OSX Monterey (12.x) 目前使用端口 5000 和 7000 作为其控制中心,因此出现了问题。

5000尝试从和以外的端口运行您的应用程序7000

用这个:

if __name__ == "__main__":
    app.run(port=8000, debug=True)
Run Code Online (Sandbox Code Playgroud)

然后运行你的烧瓶文件,例如:app.py

python app.py

flask如果您已经设置了 Flask CLI 所需的环境变量,您还可以使用此命令使用命令行界面运行。

flask run --port 8000

AirPlay Receiver您也可以通过系统偏好设置将其关闭Sharing

相关讨论在这里:https://developer.apple.com/forums/thread/682332

更新(2022 年 11 月):

Mac OSX Ventura(13.x) 仍然存在此问题,并通过如上所述更改默认端口来修复。

  • 相同的修复(`flask run --port 8000`)似乎适用于 Mac OS Ventura (v13.4.1) (3认同)