Spaces:
Runtime error
Runtime error
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) | |