본문 바로가기

Python

[Python] requests 라이브러리

안녕하세요 개발하는돼지🐷 입니다.

 

오늘은 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