File size: 840 Bytes
71f7514 73e407b 71f7514 14f899b 13e8f5d 91146e8 4387a8e 7c187ce 14f899b 2ff48a3 71f7514 14f899b bd56722 b76b5f8 71f7514 c49c5a9 71f7514 14f899b 71f7514 23d598c 14f899b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import gradio as gr
import socket
def predict(text, request: gr.Request):
client_ip = request.client.host
local_ip = socket.gethostbyname(socket.gethostbyname(""))
x_forwarded_for = request.headers.get('x-forwarded-for')
headers = request.headers
if x_forwarded_for:
client_ip = x_forwarded_for
print("client_ip", client_ip, text)
print("x_forwarded_for", x_forwarded_for)
return text, {"client_ip": client_ip,
"local_ip": local_ip,
"headers": headers}
with gr.Blocks() as block:
gr.Markdown("## Gradio get client IP")
text = gr.Textbox(label="dummy input")
output = gr.JSON({})
btn = gr.Button("Test")
btn.click(predict, inputs=[text], outputs=[text, output])
block.queue()
block.launch(share=False, server_name='0.0.0.0', show_api=True)
|