이번 글에서는 Python의 requests
라이브러리를 사용하여 테스트 환경에서의 요청 처리에 대해 알아보겠습니다. requests
는 HTTP 요청을 보내는 인기있는 라이브러리로, 간편한 인터페이스와 다양한 기능을 제공합니다.
1. requests 설치하기
먼저, requests
라이브러리를 설치해야 합니다. 아래의 명령을 사용하여 pip를 통해 설치할 수 있습니다:
pip install requests
2. GET 요청 처리하기
GET 요청은 서버로부터 데이터를 가져오는 요청 방식입니다. requests
를 사용하여 GET 요청을 처리하는 방법을 살펴보겠습니다. 아래의 코드는 “https://api.example.com/users” 주소로 GET 요청을 보내고, 받은 응답을 출력하는 예제입니다:
import requests
response = requests.get("https://api.example.com/users")
print(response.text)
위의 예제에서 requests.get
함수는 GET 요청을 보내고, 서버로부터 받은 응답 객체를 반환합니다. 이를 통해 응답의 내용은 response.text
로 접근할 수 있습니다.
3. POST 요청 처리하기
POST 요청은 서버로 데이터를 보내는 요청 방식입니다. requests
를 사용하여 POST 요청을 처리하는 방법을 살펴보겠습니다. 아래의 코드는 “https://api.example.com/users” 주소로 POST 요청을 보내고, 데이터를 전송하는 예제입니다:
import requests
data = {
"name": "John Doe",
"email": "johndoe@example.com"
}
response = requests.post("https://api.example.com/users", data=data)
print(response.json())
위의 예제에서 requests.post
함수는 POST 요청을 보내고, 데이터를 data
매개변수로 전달합니다. POST 요청의 결과로 받은 응답은 JSON 형식으로 response.json()
으로 접근할 수 있습니다.
4. 헤더 설정하기
requests
를 사용하여 요청할 때, 헤더를 설정할 수도 있습니다. 헤더는 요청에 대한 추가 정보를 나타내며, 예를 들어 인증 정보나 세션 ID를 포함할 수 있습니다. 아래의 코드는 “X-API-Key” 헤더를 설정하여 인증하는 예제입니다:
import requests
headers = {
"X-API-Key": "your-api-key"
}
response = requests.get("https://api.example.com/data", headers=headers)
print(response.text)
위의 예제에서 requests.get
함수의 headers
매개변수를 사용하여 헤더를 설정합니다. 이를 통해 서버로 요청을 보낼 때 헤더가 포함되어 인증이 이루어집니다.
5. 예외 처리하기
요청을 보낼 때 에러가 발생할 수 있습니다. reqeusts
를 사용하여 요청할 때 예외 처리를 통해 에러를 처리할 수 있습니다. 아래의 코드는 예외 처리를 사용하여 요청에 대한 에러를 처리하는 예제입니다:
import requests
try:
response = requests.get("https://api.example.com/invalid_url")
response.raise_for_status()
except requests.exceptions.HTTPError as errh:
print("HTTP Error:", errh)
except requests.exceptions.ConnectionError as errc:
print("Connection Error:", errc)
except requests.exceptions.Timeout as errt:
print("Timeout Error:", errt)
except requests.exceptions.RequestException as err:
print("Error:", err)
위의 예제에서 raise_for_status()
함수는 요청에 대한 응답 상태 코드가 에러인 경우 예외를 발생시킵니다. 따라서 try-except
구문을 사용하여 예외를 처리할 수 있습니다.
결론
이번 글에서는 Python의 requests
라이브러리를 사용한 테스트 환경에서의 요청 처리에 대해 알아보았습니다. requests
를 활용하여 GET과 POST 요청을 처리하는 방법을 살펴보았으며, 헤더 설정과 예외 처리에 대해서도 다뤄보았습니다. requests
가 갖고 있는 다양한 기능들을 활용하면 웹 요청을 효율적으로 처리할 수 있습니다.