본문 바로가기
Python

[Python] 파이썬 requests 를 이용해서 REST API 호출하기

by A6K 2022. 5. 4.

requests는 파이썬으로 REST API를 호출하는 프로그램을 작성할 때 가장 많이 사용되는 라이브러리다.

requests 설치

requests가 설치되어 있지 않다면 파이썬의 패키지 매니저인 pip를 이용해서 설치할 수 있다.

$ pip install requests

혹은

$ pip3 install requests

설치가 잘 되었는지 확인해보기 위해 파이썬을 인터프리터 모드로 실행해서 requests 라이브러리를 사용해보자.

$ python
Python 3.6.8 (default, Nov 16 2020, 16:55:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests.get("https://naver.com")
<Response [200]>

응답코드 200을 받으며 정상적으로 네이버에 접속할 수 있다.

REST API 호출

requests 라이브러리는 HTTP 요청 이름에 해당하는 함수를 제공한다.

requests.get() # GET 요청
requests.post() # POST 요청
requests.put() # PUT 요청
requests.delete() # DELETE 요청

예를 들어 GET 요청의 경우 다음과 같이 요청을 전송할 수 있다.

headers = {'Content-Type': 'application/json; charset=utf-8'}
response = requests.get(url, headers=headers)

GET 요청에 파라미터를 전달하고 싶은 경우는 다음과 같이 전달한다.

params = {'param1': 'value1', 'param2': 'value'}
response = requests.get(url, params=params)

데이터를 함께 보내야하는 경우 다음과 같이 데이터를 전송할 수 있다.

body = {
  "key1" : "value1",
  "key2" : "value2"
}

response = requests.post(url, headers=headers, data=json.dump(body))

requests를 이용해 REST API 호출이 성공하면 reponse 객체가 담겨나온다.

쿠키를 심어서 요청을 보낼 수도 있다.

headers = {'Content-Type': 'application/json; charset=utf-8'}
cookies = {'session_id': 'mysessionid'}
response = requests.get(URL, headers=headers, cookies=cookies)

응답(Response) 객체

response 객체 담겨있는 정보는 다음과 같다.

속성 설명
status_code 응답 상태 코드
headers 헤더 정보를 확인할 수 있음
cookies 쿠키 정보를 확인할 수 있음
encoding 데이터의 인코딩을 확인할 수 있음
text str 타입의 데이터인 경우
content bytes 타입의 데이터인 경우
.json() dic 타입의 데이터일 경우 사용

대충 이정도만 쓸 줄 알아도 REST API를 이용한 파이썬 코드를 손쉽게 작성할 수 있다.


 

파이썬 스크립트 작성에 도움되는 글 모음

파이썬으로 프로그램을 작성할 때 도움되는 글들을 모아본다. Python 문법 Python 모듈

hbase.tistory.com

 

댓글