Spaces:
Sleeping
Sleeping
add env and net tabs
Browse files
app.py
CHANGED
|
@@ -1,19 +1,59 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import requests
|
|
|
|
| 3 |
import socket
|
| 4 |
|
| 5 |
def fetch_url(url):
|
| 6 |
try:
|
| 7 |
r = requests.get(url, timeout=5)
|
| 8 |
-
return f"Status: {r.status_code}
|
|
|
|
|
|
|
|
|
|
| 9 |
except Exception as e:
|
| 10 |
return f"Error: {str(e)}"
|
| 11 |
|
| 12 |
-
def
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
try:
|
| 14 |
-
|
|
|
|
| 15 |
except:
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
demo = gr.Interface(fn=fetch_url, inputs="text", outputs="text")
|
| 19 |
demo.launch()
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import requests
|
| 3 |
+
import os
|
| 4 |
import socket
|
| 5 |
|
| 6 |
def fetch_url(url):
|
| 7 |
try:
|
| 8 |
r = requests.get(url, timeout=5)
|
| 9 |
+
return f"Status: {r.status_code}
|
| 10 |
+
Headers: {dict(r.headers)}
|
| 11 |
+
Body:
|
| 12 |
+
{r.text[:2000]}"
|
| 13 |
except Exception as e:
|
| 14 |
return f"Error: {str(e)}"
|
| 15 |
|
| 16 |
+
def get_env():
|
| 17 |
+
env_vars = {}
|
| 18 |
+
for k, v in sorted(os.environ.items()):
|
| 19 |
+
env_vars[k] = v[:100]
|
| 20 |
+
return str(env_vars)
|
| 21 |
+
|
| 22 |
+
def net_info():
|
| 23 |
+
hostname = socket.gethostname()
|
| 24 |
+
try:
|
| 25 |
+
ip = socket.gethostbyname(hostname)
|
| 26 |
+
except:
|
| 27 |
+
ip = "unknown"
|
| 28 |
try:
|
| 29 |
+
with open("/etc/resolv.conf") as f:
|
| 30 |
+
resolv = f.read()
|
| 31 |
except:
|
| 32 |
+
resolv = "unreadable"
|
| 33 |
+
try:
|
| 34 |
+
with open("/etc/hosts") as f:
|
| 35 |
+
hosts = f.read()
|
| 36 |
+
except:
|
| 37 |
+
hosts = "unreadable"
|
| 38 |
+
return f"Hostname: {hostname}
|
| 39 |
+
IP: {ip}
|
| 40 |
+
resolv.conf:
|
| 41 |
+
{resolv}
|
| 42 |
+
hosts:
|
| 43 |
+
{hosts}"
|
| 44 |
+
|
| 45 |
+
with gr.Blocks() as demo:
|
| 46 |
+
with gr.Tab("Fetch"):
|
| 47 |
+
url_in = gr.Textbox(label="url")
|
| 48 |
+
url_out = gr.Textbox(label="output")
|
| 49 |
+
url_in.submit(fetch_url, url_in, url_out)
|
| 50 |
+
with gr.Tab("Env"):
|
| 51 |
+
env_btn = gr.Button("Get Env")
|
| 52 |
+
env_out = gr.Textbox(label="env")
|
| 53 |
+
env_btn.click(get_env, None, env_out)
|
| 54 |
+
with gr.Tab("Net"):
|
| 55 |
+
net_btn = gr.Button("Get Net Info")
|
| 56 |
+
net_out = gr.Textbox(label="net")
|
| 57 |
+
net_btn.click(net_info, None, net_out)
|
| 58 |
|
|
|
|
| 59 |
demo.launch()
|