반응형
Python Request
Python에서 REST API 데이터를 가져와야 할 경우가 있다.
이때, Request Package를 사용하여 데이터를 쉽게 가져올 수 있다.
Request 설치
request 패키지를 설치해준다.
(받을 데이터가 JSON 형식일 경우, json package도 함께 설치한다.)
pip install requests
pip install json
Import Package
최상단에 Package를 선언해준다.
import requests
import json
GET Data
REST-GET 방식으로 불러올 경우 requests.get
을 사용하면 결과값을 변수로 받을 수 있다.
> Request
import requests
import json
# Request
requestData = requests.get('REST API URL')
> Import Header
header를 선언해줘야 하는 경우 (Token 사용으로 인한 Authorization 설정 등)headers
에 headers 값을 Dict 형식으로 포함시켜주면 된다.
import requests
import json
# Setting Header
headerDict = {}
headerDict.setdefault('Authorization','TOKEN')
paramDict = {}
# Request
requestDataWithHeader = requests.get('REST API URL',headers=headerDict)
> Import Parameter
전달해줘야 하는 Parameter가 있을 경우, params
항목을 추가시킨다.
import requests
import json
# Setting Header
headerDict = {}
headerDict.setdefault('Authorization','TOKEN')
paramDict = {}
# Setting Param
paramDict.setdefault('id','admin')
paramDict.setdefault('password','1234')
# Request
requestDataWithHeader = requests.get('REST API URL',headers=headerDict,params=paramDict)
POST Data
REST-GET 방식과 동일한 방식으로, requests.post
로 변경하기만 하면 된다.
import requests
import json
# Request
requestData = requests.post('REST API URL')
Return Data
> status_code
request로 데이터를 받아온 후, status_code를 이용하여 연결 상태를 확인할 수 있다.
import requests
import json
# Request
requestData = requests.post('REST API URL')
if requestData.status_code == 200 :
print('Request OK')
연결 상태는 정수형 뿐만 아니라, requests
에서 지원하는 변수를 활용하여 비교할 수 있다.
import requests
import json
# Request
requestData = requests.post('REST API URL')
if requestData.status_code == requests.status_code.ok :
print('Request OK')
해당 status_code에 대해서는 requests/status_codes.py 에 자세하게 서술되어 있다.
> Json
request로 받은 데이터는 기본적으로 String Text 형식으로 출력된다.
해당 String을 Json 형식으로 변환하여 출력한다.
import requests
import json
# Request
requestData = requests.post('REST API URL')
jsonData = None
if requestData.status_code == requests.status_code.ok :
jsonData = requestData.json()
참고 문서
반응형