Python3: распечатать IP-адрес запроса из метода get flask_restful - PullRequest
0 голосов
/ 25 сентября 2019

Вот мой метод get моего Resource класса:

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)
      ....

В какой момент в приведенном выше коде я могу получить (и распечатать) IP-адрес входящего XGET запроса?

Мне известен этот ответ, но он не указывает, как поступить с flask_restful и Resource классом.

1 Ответ

1 голос
/ 25 сентября 2019

Вот полный пример возврата удаленного IP.Все, что вам нужно сделать, это импортировать request и получить доступ к атрибуту remote_addr.

Объект request является локальным для текущего запроса.См. Контекст запроса для получения дополнительной информации.

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)
...