import gradio as gr import requests import threading import time # 외부 URL에 접속하는 함수를 정의합니다. def check_connection(url): try: response = requests.get(url) status = f"URL: {url} 상태 코드: {response.status_code}, 접속 상태: {'접속 성공' if response.status_code == 200 else '접속 실패'}" except Exception as e: status = f"URL: {url} 접속 실패: {str(e)}" print(status) return status # 타이머를 사용하여 정해진 주기로 함수를 반복 실행합니다. def start_timer(url, interval): threading.Timer(interval, start_timer, [url, interval]).start() check_connection(url) # 타이머 시작 함수를 Gradio의 입력과 함께 연결합니다. def setup_timer(url1, url2, url3, url4, url5, url6, url7, url8, url9, url10, interval): interval_seconds = interval * 60 # 분을 초로 변환 urls = [url1, url2, url3, url4, url5, url6, url7, url8, url9, url10] for url in urls: if url: # URL이 비어 있지 않으면 타이머 시작 start_timer(url, interval_seconds) return "타이머가 설정되었습니다." # Gradio UI 컴포넌트를 정의합니다. url_input1 = gr.Text(label="URL 1", placeholder="접속할 첫 번째 URL을 입력하세요") url_input2 = gr.Text(label="URL 2", placeholder="접속할 두 번째 URL을 입력하세요") url_input3 = gr.Text(label="URL 3", placeholder="접속할 세 번째 URL을 입력하세요") url_input4 = gr.Text(label="URL 4", placeholder="접속할 네 번째 URL을 입력하세요") url_input5 = gr.Text(label="URL 5", placeholder="접속할 다섯 번째 URL을 입력하세요") url_input6 = gr.Text(label="URL 6", placeholder="접속할 여섯 번째 URL을 입력하세요") url_input7 = gr.Text(label="URL 7", placeholder="접속할 일곱 번째 URL을 입력하세요") url_input8 = gr.Text(label="URL 8", placeholder="접속할 여덟 번째 URL을 입력하세요") url_input9 = gr.Text(label="URL 9", placeholder="접속할 아홉 번째 URL을 입력하세요") url_input10 = gr.Text(label="URL 10", placeholder="접속할 열 번째 URL을 입력하세요") interval_input = gr.Slider(minimum=1, maximum=60, step=1, value=5, label="접속 주기(분)") # Gradio 앱 설정 app = gr.Interface( fn=setup_timer, inputs=[url_input1, url_input2, url_input3, url_input4, url_input5, url_input6, url_input7, url_input8, url_input9, url_input10, interval_input], outputs="text", title="URL 접속 체커", description="여섯 개의 URL과 접속 주기를 입력하고 '시작' 버튼을 클릭하세요. 지정된 주기로 HTTP 상태 코드 및 접속 상태를 확인합니다.", examples=[ ["https://seawolf2357-FastGPT.hf.space", "https://seawolf2357-NaverTalk.hf.space", "https://seawolf2357-timer.hf.space", "https://seawolf2357-timer2.hf.space", "https://seawolf2357-disc1ch-2.hf.space", "https://seawolf2357-kai-girlfriend.hf.space", "https://seawolf2357-kai-boyfriend.hf.space", "https://seawolf2357-kai-grandma.hf.space","https://seawolf2357-kai-simsime.hf.space","https://seawolf2357-kai-blog.hf.space",15] ], cache_examples=False # 캐시 비활성화 ) app.launch()