[python] Requests 라이브러리에서 세션을 유지하는 방법은?
Requests 라이브러리는 매 HTTP 요청마다 기본적으로 새로운 세션을 생성합니다. 그러나 세션을 유지하려면 Session
객체를 사용하여 세션을 생성하고 유지하는 방법을 사용해야 합니다. 다음은 Requests 라이브러리를 사용하여 세션을 유지하는 간단한 예제입니다.
import requests
# 세션 생성
session = requests.Session()
# 세션을 통한 GET 요청
response = session.get('https://www.example.com')
# 세션을 통한 POST 요청
payload = {'key1': 'value1', 'key2': 'value2'}
response = session.post('https://www.example.com', data=payload)
# 세션 종료
session.close()
위 예제에서 Session
객체를 사용하여 세션을 생성하고, session.get()
및 session.post()
메소드를 사용하여 세션을 통한 GET 및 POST 요청을 보낼 수 있습니다. 이렇게 생성된 세션은 요청 사이에 상태를 유지하며, 쿠키와 같은 인증 정보를 저장할 수 있습니다.
또한, 세션 종료를 위해 session.close()
메소드를 호출하여 세션을 명시적으로 닫아야 합니다. 세션이 종료되면 해당 세션에 대한 쿠키와 연결이 모두 삭제됩니다.
세션을 사용하면 동일한 세션을 유지하면서 여러 요청을 보낼 수 있으므로, 로그인과 같은 인증이 필요한 경우 유용하게 사용할 수 있습니다.
참고 문서:
- Requests 라이브러리 공식 문서: https://docs.python-requests.org/en/latest/user/advanced/#session-objects