如何查看访问我的API方法的PC的域名或ip?

How can I see the domain name or ip of the PC accessing my API method?

我在我的本地服务器上部署了一个 API 方法,

@app.post("/test/api")
async def method():
     if incoming.request.url or domain == "this":
         do some operation
     else:
         skip it
     .....
     return something

现在,很少有人在使用我的 API 方法,但是有什么方法可以跟踪谁在调用我的 api 方法,并在我指定谁在调用后对它执行特定的额外操作我的 api.

如何跟踪使用我的 api 方法的人的传入域名或 IP 或 url?

注意:如果您熟悉它,需要一个关于如何实现它的基本示例

有可能吗?

如果您可以访问传入请求 headers,则检查 X-Forwarded-For 是否有客户端的 IP 地址。如果不是,更改设置的配置可能会使其按预期工作,但是我没有使用 fastapiuvicorn 的经验,因此我无法写出更精确的内容。

如果您使用的是烧瓶,只需按如下方式获取 remote_addr 即可实现:

from flask import FLASK, request
@app.route('/test/api', methods=['POST']):
def method():
    visitor_ip = request.remote_addr

在 fastapi 中应该是这样的:request.client.host

您可以通过任何方式在代码中使用 headers 并获取客户的许多详细信息