상황: 파이썬 스크립트를 사용하여 외부 API를 호출하는 경우가 있습니다. 때로는 API 서버가 다운되거나 네트워크 지연이 발생하여 응답 시간이 길어질 수 있습니다. 이로 인해 스크립트가 무한정 대기하는 문제가 발생할 수 있습니다.
해결방안: 파이썬 requests 라이브러리를 사용하여 API 호출 시 타임아웃을 설정하여 문제를 해결합니다.
1.
requests 라이브러리 설치
먼저, requests 라이브러리를 설치합니다.
bashCopy code
pip install requests
Plain Text
복사
1.
API 호출 함수 작성
requests 라이브러리를 사용하여 API 호출 함수를 작성합니다. 여기에서 timeout 매개변수를 설정하여 응답 시간 초과 문제를 해결할 수 있습니다.
pythonCopy code
import requests
def call_api(url, timeout=5):
try:
response = requests.get(url, timeout=timeout)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return None
Python
복사
이 함수는 주어진 url로 API 호출을 시도하고, 설정된 timeout 시간 내에 응답이 없으면 예외를 발생시킵니다.
1.
스크립트에서 API 호출
스크립트에서 위에서 정의한 call_api 함수를 사용하여 API를 호출합니다.
pythonCopy code
api_url = "https://api.example.com/data"
response = call_api(api_url, timeout=10)
if response:
print("API response received:", response)
else:
print("API call failed or timed out.")
Python
복사
이 방법을 사용하면, 설정된 시간 내에 API 응답이 없을 경우 스크립트가 자동으로 다음 작업으로 넘어갑니다. 이를 통해 외부 API 호출 시 발생하는 시간 초과 문제를 해결할 수 있습니다.