Requests는 파이썬에서 HTTP 요청을 보내기 위한 매우 강력하고 인기 있는 라이브러리입니다. 이 블로그 포스트에서는 Requests를 사용하여 웹 요청을 보내고 응답 객체를 다루는 방법에 대해 알아보겠습니다.
Requests 라이브러리 설치
Requests 라이브러리를 사용하려면 우선 설치해야 합니다. 아래의 명령을 사용하여 설치할 수 있습니다:
pip install requests
GET 요청 보내기
GET 요청을 보내는 가장 간단한 방법은 Requests의 get
함수를 사용하는 것입니다. 아래는 간단한 GET 요청의 예시입니다:
import requests
response = requests.get('https://www.example.com')
print(response.status_code) # 응답 상태 코드 출력
print(response.text) # 응답 내용 출력
위의 코드에서 get
함수는 주어진 URL에 GET 요청을 보내고, 반환된 응답 객체를 response
변수에 저장합니다. 그리고 status_code
속성을 사용하여 응답의 상태 코드를 출력하고, text
속성을 사용하여 응답 내용을 출력합니다.
응답 객체 속성
응답 객체에는 다양한 속성이 포함되어 있습니다. 아래는 일부 주요 속성들입니다:
status_code
: HTTP 응답 상태 코드를 반환합니다. 예를 들어, 200은 성공적인 응답을 나타냅니다.headers
: 응답 헤더를 나타내는 딕셔너리입니다.text
: 응답 내용을 문자열로 반환합니다.json()
: JSON 형식의 응답 데이터를 딕셔너리로 반환합니다.content
: 응답 내용을 바이트로 반환합니다.
POST 요청 보내기
POST 요청을 보내는 방법도 간단합니다. post
함수를 사용하면 됩니다. 아래는 POST 요청의 예시입니다:
import requests
data = {'name': 'John', 'age': 30}
response = requests.post('https://www.example.com', data=data)
print(response.status_code)
print(response.text)
위의 코드에서 data
변수에는 POST 요청으로 전송할 데이터가 딕셔너리 형식으로 포함되어 있습니다. post
함수의 data
매개변수에 이 데이터를 전달하여 요청을 보냅니다.
사용자 정의 헤더 추가하기
Requests를 사용하면 사용자 정의 헤더를 요청에 추가할 수도 있습니다. 아래는 사용자 정의 헤더를 추가하는 예시입니다:
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('https://www.example.com', headers=headers)
print(response.text)
위의 코드에서 headers
변수에 사용자 정의 헤더를 딕셔너리 형태로 정의하고, get
함수의 headers
매개변수에 전달하여 요청을 보냅니다.
오류 처리하기
Requests를 사용하여 웹 요청을 보낼 때는 항상 예외 처리를 해야 합니다. 네트워크 문제로 인해 요청이 실패할 수 있기 때문입니다. 아래는 예외 처리를 추가한 예시입니다:
import requests
try:
response = requests.get('https://www.example.com')
response.raise_for_status() # 응답이 성공적이지 않으면 예외 발생
print(response.text)
except requests.exceptions.HTTPError as err:
print(f"HTTP 오류가 발생했습니다: {err}")
except requests.exceptions.ConnectionError as err:
print(f"네트워크 연결 오류가 발생했습니다: {err}")
except requests.exceptions.RequestException as err:
print(f"오류가 발생했습니다: {err}")
위의 코드에서 raise_for_status()
함수를 사용하여 응답이 성공적이지 않은 경우 예외를 발생시킵니다. 이를 통해 오류 처리를 할 수 있습니다.
Requests를 사용하여 HTTP 요청을 보내고 응답 객체를 다루는 방법에 대해 알아보았습니다. 이제 여러분은 웹과 상호 작용하는 파이썬 애플리케이션을 개발할 수 있을 것입니다. Requests의 다양한 기능과 옵션에 대해 더 자세히 알아보고 싶다면 공식 도큐먼트를 참조하시기 바랍니다. Happy coding!