从客户端访问Flask API

时间:2019-09-28 02:59:34

标签: python rest api flask server

我是创建API的新手。但是我创建了一个像这样的代码:

app = Flask(__name__)
@app.route("/",methods=['GET','POST'])
def hello():
    try :
        with open('logs.txt','a') as f :
            f.write(f"{datetime.now()}\n")
    except Exception as e :
        print(str(e))
    value = request.args.get('symbol')
    result = database.get_symbol(value)
    return jsonify(result)
if __name__ == '__main__':
    app.run(debug=False)

因此,我有一个带有Windows7的VPS(虚拟专用服务器),并且我试图在其中运行我的flask应用程序。但是当我运行它时,代码将是这样的:

main.py:443: DeprecationWarning: use options instead of chrome_options
  return webdriver.Chrome(chrome_options=option)
 * Serving Flask app "main" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

但是当我在服务器上运行它并尝试使用自己的个人计算机使用此代码访问它时:

curl [ip_address]:5000/?symbol=value 

它给我一个错误:

curl: (7) Failed to connect to [IP] port 5000: Connection refused

人们如何使用此API?

我可以在开发人员模式下部署它吗?

1 个答案:

答案 0 :(得分:0)

127.0.0.1是您自己的IP地址,只能从该PC进行访问。

if __name__ == '__main__':
    app.run(debug=False, host=<VPS's IP address>)

代替分配,您可以编写0.0.0.0,并在从外部连接时指定VPS的IP地址。