MicroPython Asyncio服务端如何获取客户端IP地址
获取MicroPython异步Web服务器的客户端IP
核心方法
在MicroPython的异步Web服务场景里,你要的客户端IP可以通过请求关联的Stream对象(通常是writer或reader)的get_extra_info方法获取,关键是找到请求处理函数里的Stream实例。
具体操作
- 你的
APIHandling方法里,请求对象一般会带writer属性(对应给客户端发响应的流),这个就是可用的Stream对象。 - 调用
writer.get_extra_info('peername')会返回一个元组,第一个元素就是客户端的IP地址,第二个是端口号。
代码片段参考
async def APIHandling(request): # 提取客户端IP client_peername = request.writer.get_extra_info('peername') client_ip = client_peername[0] print(f"调用API的客户端IP: {client_ip}") # 这里写你的API业务逻辑 # ... # 返回响应(根据你的服务器框架调整) return b"OK"
额外提示
如果你的请求对象里找不到writer,可以看看有没有transport属性,用transport.get_extra_info('peername')也能拿到同样的结果,MicroPython对这两种方式都支持。
内容的提问来源于stack exchange,提问作者kamp
相关产品推荐
相关产品推荐

