Python3:从flask_restful的get方法打印请求的IP

时间:2019-09-25 08:32:57

标签: python python-3.x flask flask-restful

这是我的Resource类的get方法:

from flask_restful import Resource
import subprocess

CMD = ['some', 'cmd' ]

class MyResource(Resource):

    def get(self):

        try:
            completed_process = subprocess.run(CMD, check=True, 
                                               capture_output=True)
      ....

在上面的代码中,我何时可以检索(并打印)传入的XGET请求的IP?

我知道this的答案,但没有说明如何使用flask_restfulResource类。

1 个答案:

答案 0 :(得分:1)

这是返回远程IP的完整示例。您需要做的就是导入request并访问remote_addr属性。

request对象是当前请求的本地对象。有关更多信息,请参见The Request Context

from flask import Flask, request
from flask_restful import Api, Resource

app = Flask(__name__)
api = Api(app)

class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world', 'remote-ip': request.remote_addr}

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)