[python] 응답에 대한 콘텐츠 전송 방식 확인하기

웹 개발 시 클라이언트가 서버로부터 받은 응답에 대해 어떤 방식으로 콘텐츠를 전송했는지 확인해야 하는 경우가 있습니다. 이를 위해서는 requests 라이브러리를 사용하여 HTTP 요청을 보내고, 응답 객체의 headers 속성을 확인해야 합니다.

요청 보내기

먼저, requests 라이브러리를 설치해야 합니다. 터미널에서 다음 명령을 실행하여 설치할 수 있습니다:

pip install requests

다음은 GET 메서드로 요청을 보내는 예제입니다:

import requests

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

이렇게 요청을 보내고 나면 response 변수에 응답 객체가 할당됩니다.

콘텐츠 전송 방식 확인하기

응답 객체의 headers 속성은 서버로부터 받은 헤더 정보를 담고 있는 딕셔너리 객체입니다. 이 중에서 Content-Type 헤더를 확인하면 콘텐츠 전송 방식을 알 수 있습니다.

다음은 예제 코드입니다:

content_type = response.headers.get("Content-Type")
print(content_type)

위 코드를 실행하면 콘손에 콘텐츠 전송 방식이 출력됩니다. 예를 들면 text/html, application/json과 같은 형태입니다.

예외 처리하기

실제로 HTTP 응답이 오지 않거나, Content-Type 헤더가 존재하지 않는 경우 등에 대비해 예외 처리를 추가할 수 있습니다. 예를 들면:

try:
    content_type = response.headers["Content-Type"]
except KeyError:
    content_type = None

if content_type:
    print(content_type)
else:
    print("콘텐츠 전송 방식을 확인할 수 없습니다.")

위 코드를 실행하면 예외가 발생하지 않는 한 콘텐츠 전송 방식이 출력되며, 예외가 발생한 경우 “콘텐츠 전송 방식을 확인할 수 없습니다.”라는 메시지가 출력됩니다.

결론

Python의 requests 라이브러리를 사용하여 응답에 대한 콘텐츠 전송 방식을 확인하는 방법에 대해 알아보았습니다. 이를 통해 웹 개발 시 클라이언트와 서버 간의 통신에서 어떤 종류의 콘텐츠를 주고받는지를 파악할 수 있습니다.

참고 자료