radames's picture
Update app.py
7c187ce
raw
history blame
858 Bytes
import gradio as gr
import socket
def predict(text, request: gr.Request):
client_ip = request.client.host
local_ip = socket.gethostbyname(socket.gethostbyname(""))
headers = request.kwargs['headers']
if headers and 'x-forwarded-for' in headers:
x_forwarded_for = headers['x-forwarded-for']
client_ip = x_forwarded_for.split(' ')[0] if x_forwarded_for else ""
print("client_ip", client_ip, text, "\n\n")
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.launch(share=False, server_name='0.0.0.0', show_api=True)