如何查看访问我的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 地址。如果不是,更改设置的配置可能会使其按预期工作,但是我没有使用 fastapi
或 uvicorn
的经验,因此我无法写出更精确的内容。
如果您使用的是烧瓶,只需按如下方式获取 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 并获取客户的许多详细信息
我在我的本地服务器上部署了一个 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 地址。如果不是,更改设置的配置可能会使其按预期工作,但是我没有使用 fastapi
或 uvicorn
的经验,因此我无法写出更精确的内容。
如果您使用的是烧瓶,只需按如下方式获取 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 并获取客户的许多详细信息