[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() 메소드를 호출하여 세션을 명시적으로 닫아야 합니다. 세션이 종료되면 해당 세션에 대한 쿠키와 연결이 모두 삭제됩니다.

세션을 사용하면 동일한 세션을 유지하면서 여러 요청을 보낼 수 있으므로, 로그인과 같은 인증이 필요한 경우 유용하게 사용할 수 있습니다.

참고 문서: