import requests
import csv
import time
from datetime import datetime
# API 설정
url = 'https://your-api-endpoint.com/path' # 실제 API 주소로 변경
params = {
'param1': 'value1',
'param2': 'value2'
}
headers = {
'Authorization': 'Bearer your-token',
'X-Custom-Header1': 'value1',
'X-Custom-Header2': 'value2'
}
# CSV 파일명
csv_file = 'api_response_log.csv'
# CSV 파일에 헤더 작성 (파일 없을 경우)
try:
with open(csv_file, 'x', newline='') as f:
writer = csv.writer(f)
writer.writerow(['timestamp', 'status_code', 'elapsed_time_sec', 'error'])
except FileExistsError:
pass
# 무한 루프 - 3분 간격으로 체크
while True:
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
try:
start_time = time.time()
response = requests.get(url, params=params, headers=headers, timeout=10)
elapsed_time = round(time.time() - start_time, 3)
status_code = response.status_code
error = ''
except Exception as e:
elapsed_time = -1
status_code = 'ERROR'
error = str(e)
# CSV에 기록
with open(csv_file, 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([timestamp, status_code, elapsed_time, error])
print(f"[{timestamp}] status: {status_code}, time: {elapsed_time}s")
time.sleep(180) # 3분 대기
2025. 4. 23. 09:18