파이썬의 requests 모듈은 HTTP 요청을 보내고 응답을 받는 데 사용되는 라이브러리입니다. requests 모듈은 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 지원하며, 간단하고 직관적인 API를 제공하여 HTTP 클라이언트를 쉽게 구현할 수 있도록 도와줍니다.
이제 requests 모듈을 사용하여 간단한 HTTP 요청을 보내고 응답을 받는 방법을 알아보겠습니다
1. 설치
requests 모듈은 파이썬 기본 라이브러리가 아니기 때문에 설치가 필요합니다. 다음 명령어를 사용하여 설치할 수 있습니다.
pip install requests
2. GET 요청
GET 요청을 보내려면 requests.get() 함수를 사용합니다. 예를 들어, http://httpbin.org/get URL로 GET 요청을 보내는 코드는 다음과 같습니다.
import requests
response = requests.get('http://httpbin.org/get')
print(response.text)
response.text는 서버로부터 받은 응답 본문을 나타냅니다.
3. POST 요청
POST 요청을 보내려면 requests.post() 함수를 사용합니다. 예를 들어, http://httpbin.org/post URL로 JSON 데이터를 POST 요청으로 보내는 코드는 다음과 같습니다.
import requests
import json
data = {'key': 'value'}
headers = {'Content-type': 'application/json'}
response = requests.post('http://httpbin.org/post', data=json.dumps(data), headers=headers)
print(response.text)
POST 요청에서 데이터는 data 매개변수에 딕셔너리 형태로 전달됩니다. 이 경우, 데이터는 JSON 형식으로 인코딩되어 전송됩니다. headers 매개변수는 요청 헤더를 지정하는 데 사용됩니다.
4. 파일 업로드
파일을 업로드하려면 files 매개변수를 사용하여 파일을 전송할 수 있습니다. 예를 들어, http://httpbin.org/post URL로 이미지 파일을 업로드하는 코드는 다음과 같습니다.
import requests
url = 'http://httpbin.org/post'
files = {'file': open('image.png', 'rb')}
response = requests.post(url, files=files)
print(response.text)
5. 헤더와 쿠키
HTTP 요청 헤더를 지정하려면 headers 매개변수를 사용할 수 있습니다. 예를 들어, User-Agent 헤더를 지정하는 코드는 다음과 같습니다.
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get('http://httpbin.org/get', headers=headers)
print(response.text)
쿠키를 사용하려면 `cookies` 매개변수를 사용할 수 있습니다. 예를 들어, 쿠키를 지정하여 `http://httpbin.org/cookies` URL로 GET 요청을 보내는 코드는 다음과 같습니다.
import requests
cookies = {'cookie_name': 'cookie_value'}
response = requests.get('http://httpbin.org/cookies', cookies=cookies)
print(response.text)
6. 인증
HTTP 기본 인증을 사용하려면 auth 매개변수를 사용할 수 있습니다. 예를 들어, http://httpbin.org/basic-auth/user/passwd URL로 HTTP 기본 인증을 사용하여 GET 요청을 보내는 코드는 다음과 같습니다.
import requests
auth = ('user', 'passwd')
response = requests.get('http://httpbin.org/basic-auth/user/passwd', auth=auth)
print(response.text)
7. 예외 처리
requests 모듈에서 발생하는 예외를 처리하려면 requests.exceptions 모듈을 사용할 수 있습니다. 예를 들어, requests.exceptions.RequestException 예외를 처리하는 코드는 다음과 같습니다.
import requests
from requests.exceptions import RequestException
try:
response = requests.get('http://httpbin.org/get')
response.raise_for_status()
except RequestException as e:
print(e)
이 예제에서 raise_for_status() 메서드는 HTTP 응답 코드가 200 이상 400 미만인 경우에는 예외를 발생시킵니다.
이제 requests 모듈의 주요 기능과 사용법을 알아보았습니다. requests 모듈은 HTTP 클라이언트를 구현하는 데 유용한 라이브러리이며, 다양한 HTTP 요청을 간단하게 보낼 수 있도록 도와줍니다.
'라이브러리' 카테고리의 다른 글
파이썬(Python) memoryview 사용법 정리 (0) | 2023.03.02 |
---|---|
파이썬(Python) random 사용법 정리 (0) | 2023.03.01 |
파이썬(Python) itertools 사용법 정리 (0) | 2023.03.01 |
파이썬(Python) hashlib 사용법 정리 (0) | 2023.02.28 |
파이썬(Python) datetime 사용법 정리 (0) | 2023.02.28 |