backend/Django&Python

[Python] 파이썬 requests, json으로 REST API data 보내고 받기

findTheValue 2021. 9. 23. 00:21

카카오톡 2차

  • 정답이 없는 문제.
  • 요구사항을 기반으로 trade-off를 감안해 로직을 설계. 로직을 개선해가는 역량.
  • REST API 호출. API결과가 JSON 포맷.
  • REST API 호출 처리 모듈, JSON 파서 사전 준비.
  • pprint, bs4 쓸수있나? 일단 깔아놔보기.

JSON?

  • Java Script Object Notation. 통신을 통해 데이터를 주고 받는데 사용되는 규칙, 형식
  • JSON은 dictionary에 key - value 형식으로 이루어진다.

REST API로 이용해 받아온 값을 JSON형태

import json, requests
response = requests.get(URL).json()
response = requests.post(URL,header,data).json()
response = requests.put(URL,data).json()
response = requests.delete(URL).json()
response = requests.head(URL).json()
response = requests.options(URL).json()
  • URL에는 통신하고있는 서버의 주소가 들어가면 된다.
  • 그 뒤에는 매개변수가 들어간다. 매개변수는 dict형식으로 집어넣는다.
  • data나 header에 통째로 변환시켜 넣고싶을때는
  • json.dumps(딕셔너리)를 통해 json으로 변환시켜 처리할 수 있다.

응답데이터

print(response.status_code) 상태코드
print(response.url)
print(response.text) 문자 or json
print(response.content) 음악, 비디오 등 byte채로 받아 저장.
print(response.encoding)
print(response.headers)

Curl 명세 읽는 법(REST API)

-d : data

-f : files

-j : json

-H : headers

-A : 헤더의 user-agent

-X : 요청시 필요한 메소드 방식 안내

-G : 전송할 사이트 url 및 ip 주소

-i : 사이트의 Header 정보

-l : 사이트의 Header와 Body 정보

-u : 사용자 정보,

자동변환 사이트

https://curl.trillworks.com/