前言
记录一些streamlit的使用小技巧
感觉在ai时代,这种东西已经没有什么必要了,但是之前积累的,就还是记录一下
get client ip
目的:从 Streamlit 会话中提取客户端的远程 IP 地址
-
实现原理:
- 通过 get_script_run_ctx() 获取当前脚本运行的上下文
- 使用 runtime.get_instance().get_client() 获取客户端会话信息
- 返回 session_info.request.remote_ip 即用户的真实 IP
from streamlit import runtime
from streamlit.runtime.scriptrunner import get_script_run_ctx
def get_remote_ip() -> str:
"""Get remote ip."""
try:
ctx = get_script_run_ctx()
if ctx is None:
return None
session_info = runtime.get_instance().get_client(ctx.session_id)
if session_info is None:
return None
except Exception as e:
return None
return session_info.request.remote_ip
import streamlit as st
st.title("Title")
st.markdown(f"The remote ip is {get_remote_ip()}")