[python] 요청에 대한 응답 타입 확인하기

Python을 사용하여 웹 서비스를 개발하다 보면, 외부 API로부터 받은 응답의 타입을 확인하는 일이 필요할 때가 있습니다. 이번 포스트에서는 Python에서 요청에 대한 응답의 타입을 확인하는 방법에 대해 알아보겠습니다.

requests 라이브러리 사용하기

Python에서 HTTP 요청을 보내고 응답을 받아오는 작업을 수행하기 위해 requests 라이브러리를 사용할 수 있습니다. requests 라이브러리는 간편하게 HTTP 요청을 처리할 수 있는 기능들을 제공합니다.

import requests

url = "https://api.example.com/endpoint"
response = requests.get(url)

print(response.headers["Content-Type"])

위 코드에서는 requests 라이브러리의 get 함수를 사용하여 해당 URL에 GET 요청을 보내고, 응답을 response 변수에 저장합니다. 이후, response.headers 속성을 사용하여 응답 헤더를 확인하고, “Content-Type” 헤더 값을 출력합니다.

Content-Type 헤더 확인하기

Content-Type 헤더는 HTTP 응답의 타입을 나타내는 중요한 정보를 포함하고 있습니다. 이 헤더 값을 확인하여 요청에 대한 응답의 타입을 알 수 있습니다. 예를 들어, JSON 형식으로 응답을 받은 경우, 헤더 값은 “application/json”일 것입니다.

예외 처리하기

실제 개발 과정에서는 네트워크 오류, 서버 오류 등 다양한 예외 상황을 처리해야 합니다. requests 라이브러리를 사용하여 HTTP 요청을 보낼 때, 예외 처리를 함께 수행하는 것이 좋습니다. 아래는 예외 처리를 추가한 코드 예시입니다.

import requests

url = "https://api.example.com/endpoint"

try:
    response = requests.get(url)
    response.raise_for_status()  # HTTP 상태 코드 검사
    print(response.headers["Content-Type"])
except requests.exceptions.HTTPError as errh:
    print("HTTP 오류 발생:", errh)
except requests.exceptions.RequestException as err:
    print("요청 오류 발생:", err)

위 코드에서는 raise_for_status() 함수를 사용하여 HTTP 상태 코드를 검사하고, 오류가 발생한 경우 예외를 처리합니다.

결론

Python을 사용하여 웹 서비스를 개발할 때, 요청에 대한 응답의 타입을 확인하는 것은 중요한 작업 중 하나입니다. requests 라이브러리를 사용하여 응답 헤더의 Content-Type 값을 확인하고, 예외 처리를 통해 오류를 처리하는 방법을 알아보았습니다. 이를 통해 보다 안정적인 웹 서비스를 개발할 수 있을 것입니다.

관련 참고 문서: