_won_
wonprogrammer
_won_
전체 방문자
오늘
어제
  • 분류 전체보기
    • woncoding
      • TIL
      • WIL
    • source Code
      • Python
      • Programmers
      • BAEKJOON

블로그 메뉴

  • 방명록

티스토리

Github · Wonprogrammer
hELLO · Designed By 정상우.
_won_

wonprogrammer

TIL | 2.13.월 [Open API]
woncoding/TIL

TIL | 2.13.월 [Open API]

2023. 2. 14. 00:01

Open API

- Open API 사용 방법 (in Python)

  • Python에서 REST API 데이터를 가져와야 할 경우가 있다.
  • 이때, Request Package를 사용하여 데이터를 쉽게 가져올 수 있다.

 

 

- Open API 메커니즘

1. request 패키지를 설치해준다. (받을 데이터가 JSON 형식일 경우, json package도 함께 설치한다.)

pip install requests
pip install json

1-1. 이후 설치한 패키지를 import 해준다.

import requests
import json

 

2. GET Data

REST-GET 방식으로 불러올 경우 requests.get 을 사용하면 결과값을 변수로 받을 수 있다.

# 1. URL로만 DATA를 불러오는 경우

import requests
import json

# Request
requestData = requests.get('REST API URL')
# 2. 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)
# 3. 전달해줘야 하는 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)

 

2-1. POST Data

REST-GET 방식과 동일한 방식으로, requests.post 로 변경하기만 하면 된다.

import requests
import json

# Request
requestData = requests.post('REST API URL')

 

3. Return Data

 

request로 데이터를 받아온 후, status_code를 이용하여 연결 상태를 확인할 수 있다.

또한, status_code 외에 requests 에서 지원하는 변수를 이용해 비교 가능

# 1. status_code를 이용한 연결상태 확인
import requests
import json

# Request
requestData = requests.post('REST API URL')

if requestData.status_code == 200 :
    print('Request OK')


# 2. 연결 상태는 정수형 뿐만 아니라, requests에서 지원하는 변수를 활용하여 비교할 수 있다.
import requests
import json

# Request
requestData = requests.post('REST API URL')

if requestData.status_code == requests.status_code.ok :
    print('Request OK')

 

 

4. 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()

 

 

[참고 링크]

https://nasn.tistory.com/117

 

[Python] API 데이터 가져오기 (Requests)

Python Request Python에서 REST API 데이터를 가져와야 할 경우가 있다. 이때, Request Package를 사용하여 데이터를 쉽게 가져올 수 있다. Request 설치 request 패키지를 설치해준다. (받을 데이터가 JSON 형식일

nasn.tistory.com

 

저작자표시 비영리 변경금지 (새창열림)

'woncoding > TIL' 카테고리의 다른 글

TIL | 2.15.수 [WSGI / ASGI]  (0) 2023.02.18
TIL | 2.14.화 [Django ↔️ PostgreSQL]  (0) 2023.02.18
TIL | 2.10.금 [CI/CD]  (0) 2023.02.13
TIL | 2.9.목 [Django User Model vs DRF Custom User Model]  (0) 2023.02.09
TIL | 2.8.수 [TDD | Test Code]  (0) 2023.02.09
    'woncoding/TIL' 카테고리의 다른 글
    • TIL | 2.15.수 [WSGI / ASGI]
    • TIL | 2.14.화 [Django ↔️ PostgreSQL]
    • TIL | 2.10.금 [CI/CD]
    • TIL | 2.9.목 [Django User Model vs DRF Custom User Model]
    _won_
    _won_
    Coding Practice blog

    티스토리툴바