[파이썬] requests 요청 이력 확인하기

파이썬으로 웹 개발 또는 스크래핑을 할 때, requests 라이브러리는 많이 사용되는 도구입니다. requests를 사용하면 웹 서버에 요청을 보내고 응답을 받을 수 있습니다.

하지만 때때로, 요청의 디버깅이나 테스트를 위해 특정 요청들의 이력을 확인해야 할 때가 있습니다. 이번 포스트에서는 requests 모듈을 사용하여 이전에 보낸 요청들의 이력을 확인하는 방법을 알아보겠습니다.

requests 라이브러리 설치하기

우선 requests 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 requests를 설치할 수 있습니다.

pip install requests

사용법

requests 라이브러리는 강력하고 사용하기 쉬운 API를 제공합니다. 이를 통해 다양한 방식으로 요청을 보낼 수 있습니다. 이번 예제에서는 GET 요청을 사용하겠습니다.

다음은 requests 라이브러리를 사용하여 GET 요청을 보내고 응답을 받는 예제 코드입니다.

import requests

# GET 요청 보내기
response = requests.get('https://api.example.com/data')

# 응답 코드 확인
print(f'Response Status Code: {response.status_code}')

# 응답 본문 출력
print(f'Response Body: {response.text}')

위의 코드에서는 requests.get() 함수를 사용하여 ‘https://api.example.com/data’ URL로 GET 요청을 보내고, 응답을 받습니다.

응답 객체를 통해 응답의 상태 코드와 본문을 확인하고 원하는 작업을 수행할 수 있습니다.

이력 확인하기

requests는 내부적으로 Session 객체를 사용하여 요청을 처리합니다. 따라서 이전에 보낸 요청들의 이력을 확인하기 위해서는 Session 객체를 사용해야 합니다.

다음은 requests 모듈을 사용하여 요청 이력을 확인하는 예제 코드입니다.

import requests

# Session 객체 생성
session = requests.Session()

# GET 요청 보내기
response = session.get('https://api.example.com/data')

# 이력 확인
print(f'Request History: {response.history}')

# GET 요청 보내기
response = session.get('https://api.example.com/other-data')

# 이력 확인
print(f'Request History: {response.history}')

위의 코드에서는 requests.Session()을 사용하여 Session 객체를 생성하고, 이를 통해 요청을 보냅니다.

Session 객체를 사용하면 이전에 보낸 요청들의 이력을 response.history 속성을 통해 확인할 수 있습니다. 이를 통해 요청의 리다이렉트 이력을 확인하거나, 이전에 보냈던 요청과의 차이점을 파악할 수 있습니다.

결론

requests 라이브러리를 사용하면 간편하게 웹 서버에 요청을 보낼 수 있습니다. 이번 포스트에서는 requests를 사용하여 이전에 보낸 요청들의 이력을 확인하는 방법을 알아보았습니다. 이를 통해 디버깅이나 테스트를 보다 효율적으로 수행할 수 있습니다.

더 자세한 내용은 requests 공식 문서를 참고하시기 바랍니다.