[python] 응답 쿠키 정보 확인하기

쿠키란 무엇인가요?

쿠키는 웹사이트가 사용자의 브라우저에 저장하는 작은 데이터 조각입니다. 쿠키는 사용자의 정보를 추적하거나 인증을 위해 사용될 수 있습니다.

파이썬에서 응답 쿠키 정보 확인하는 방법

파이썬의 requests 라이브러리를 사용하여 웹 요청을 보낼 때 응답에 포함된 쿠키 정보를 확인할 수 있습니다. 다음은 간단한 예제 코드입니다.

import requests

response = requests.get('http://example.com')

# 응답 쿠키 정보 확인
cookies = response.cookies

# 모든 쿠키 정보 출력
for cookie in cookies:
    print("Name:", cookie.name)
    print("Value:", cookie.value)
    print("Domain:", cookie.domain)
    print("Path:", cookie.path)
    print("Expires:", cookie.expires)
    print("Secure:", cookie.secure)

위 예제 코드에서 response.cookies는 응답에 포함된 쿠키 정보를 나타내는 객체입니다. cookies 객체는 CookieJar 클래스의 인스턴스이며, 이를 통해 쿠키 정보에 접근할 수 있습니다.

위 코드를 실행하면 응답에 포함된 모든 쿠키 정보를 출력하게 됩니다. 쿠키의 이름, 값, 도메인, 경로, 만료일, 보안 등의 정보를 확인할 수 있습니다.

쿠키 정보 활용하기

응답에 포함된 쿠키 정보를 사용하여 웹사이트에 로그인하거나 세션을 유지하는 등 다양한 용도로 활용할 수 있습니다. 예를 들어, 로그인이 필요한 페이지에 접근할 때 쿠키를 함께 전송하여 인증을 수행할 수 있습니다.

import requests

# 로그인을 위한 사용자 정보
payload = {'username': 'myusername', 'password': 'mypassword'}

# 로그인 요청
response = requests.post('http://example.com/login', data=payload)

# 인증된 세션을 유지하기 위해 응답에 포함된 쿠키 정보 사용
cookies = response.cookies

# 쿠키를 이용한 인증이 필요한 페이지 요청
authenticated_response = requests.get('http://example.com/protected-page', cookies=cookies)

print(authenticated_response.text)

위 예제 코드에서는 로그인을 위한 사용자 정보를 payload 변수에 저장하고, 해당 정보를 이용하여 로그인 요청을 보냅니다. 그리고 /login 경로에 대한 응답에 포함된 쿠키 정보를 cookies 변수에 저장합니다.

이후, 인증이 필요한 페이지에 접근할 때는 requests.get 메서드의 cookies 인자에 cookies 변수를 전달하여 쿠키를 함께 전송합니다.

위 코드를 실행하면 로그인 후 인증된 세션을 유지하는 쿠키를 사용하여 보호된 페이지의 내용을 출력할 수 있습니다.

참고 자료