我正在创建一个端点,它按类型检索每个对象的数量。当我执行代码时:curl -X GET http://0.0.0.0:5000/api/v1/stats
它说:curl: (7) Failed to connect to 0.0.0.0 port 5000: Connection refused
我一直试图看看我是否有一个配置文件,检查了我列出的端口,谷歌如何更改/激活端口,仍然没有找到任何东西。
这是我的完整代码:
''' module that makes this an app '''
from flask import Flask, abort, jsonify
from models import storage
from api.v1.views import app_views
from os import getenv
app = Flask(__name__)
app.register_blueprint(app_views)
@app.teardown_appcontext
def close(self):
''' method that close the yes '''
storage.close()
@app.errorhandler(404)
def invalid_route(e):
return jsonify({"error": "Not found"}), 404
if __name__ == '__main__':
app.run(host=getenv("HBNB_API_HOST", "0.0.0.0"),
port=int(getenv("HBNB_API_PORT", "5000")), threaded=True)```
2条答案
按热度按时间kiayqfof1#
我使用了这样一个可执行命令:
HBNB_MYSQL_USER=hbnb_dev HBNB_MYSQL_PWD=hbnb_dev_pwd HBNB_MYSQL_HOST=localhost HBNB_MYSQL_DB=hbnb_dev_db HBNB_TYPE_STORAGE=db HBNB_API_HOST=0.0.0.0 HBNB_API_PORT=5000 sudo python3 -m api.v1.app
但是我忘了在
python3
之前加上sudo
。然后你应该打开一个新的终端并执行curl命令。谢谢gab6jxml2#
您的代码是完全正确的,您没有将请求发送到正确的主机。
您的flask服务器绑定到
0.0.0.0
,这意味着您的服务器将绑定到默认地址(localhost
或您的实际IP地址)这应该没问题:
curl -X GET http://localhost:5000/api/v1/stats