안녕하세요 개발하는돼지🐷 입니다.
오늘은 Python에서 HTTP 요청을 보내는 모듈인 requests에 대한 정리입니다.
1. GET
import requests
REQ_URL = "https://devleoper-pig.tistory.com/"
REQ_PARAMS = {"name": "pig", "type": "animal"}
response = requests.get(REQ_URL, params=REQ_PARAMS)
print(response.status_code)
print(response.text)
requests.get을 통해 사용 가능 하며 데이터 전달 시 params를 통해 전달 해야 합니다.
2. POST
import requests
REQ_URL = "https://devleoper-pig.tistory.com/"
REQ_DATA = {"name": "pig", "type": "animal"}
response = requests.post(REQ_URL, data=REQ_DATA)
print(response.status_code)
print(response.text)
requests.post를 통해 사용 가능 하며 데이터 전달 시 data를 통해 전달 해야 합니다.
3. HEADER & COOKIE
import requests
REQ_URL = "https://devleoper-pig.tistory.com/"
REQ_DATA = {"name": "pig", "type": "animal"}
REQ_HEADERS = {"Content-Type": "application/json"}
REQ_COOKIES = {"Token": "developer-pig"}
get_response = requests.get(REQ_URL, params=REQ_DATA, headers=REQ_HEADERS, cookies=REQ_COOKIES)
post_response = requests.post(REQ_URL, data=REQ_DATA, headers=REQ_HEADERS, cookies=REQ_COOKIES)
기존 GET, POST 구문에 headers, cookies를 사용하여 헤더와 쿠기를 심어 요청을 보낼 수 있습니다.
4. Session
import requests
REQ_URL = "https://devleoper-pig.tistory.com/"
REQ_DATA = {"name": "pig", "type": "animal"}
REQ_HEADERS = {"Authorization": "key-developer-pig"}
req_session = requests.Session()
req_session.headers.update(REQ_HEADERS)
response = req_session.post(REQ_URL, data=REQ_DATA)
세션을 유지하는 함수인 requests.session()을 사용하여 세션을 유지하며 request 요청을 보낼 수 있습니다.
위에 코드는 인증 후 사용할 수 있는 API가 있을 때 Session을 만든 후 Header에 Authorization을 심어주고 API요청 하는 부분입니다.
로그인 후 세션을 유지하여 HTTP 요청이 필요하거나 API-KEY를 사용하여 세션을 유지 후 HTTP 요청이 필요할 때 사용하면 되겠습니다.
감사합니다😀
'Python' 카테고리의 다른 글
[Python] GIL(Global Interpreter Lock) (0) | 2021.03.16 |
---|---|
[Python]ABC(Abstract Base Class) (0) | 2021.03.11 |
[Python] django vs flask (0) | 2021.03.11 |
[Python] @staticmethod vs @classmethod (0) | 2021.03.04 |
[Python] is vs == (0) | 2021.03.01 |