상세 컨텐츠

본문 제목

API 데이터 가져오는 방법

카테고리 없음

by yukmim 2021. 11. 18. 18:06

본문

1. import requests

   import json

-> pakage 선언

 

<get방식으로 불러오기>

requestData = request.get('rest api url')

 

<import header>

header를 선언해줘야하는 경우

(Token 사용으로 인한 authorization 설정 ..)

headers에 header값을 dict형식으로 포함시켜준다.

 

#setting header

headerDict ={}

headerDict.setfault('Authorization', 'TOKEN')

paramDict = {}

 

requestDataWithHeader = reqeusts.get('REST API URL', headers=headerDict) 

 

<import parameter>

전달해줘야하는 파라미터가 있는경우! params 항목을 추가시킨다

 

#setting param

paramDict.setfault('id','admin')

paramDict.setfault('password','1234')

 

#requset

requestDataWithHeader = reqeusts.get('REST API URL', headers=headerDict, params=paramDict)

 

<포스트방식>

 

requestData = request.post('REST API URL')

 

 

<REST APi의 종류>

header 파라미터: 인증 혹은 권한 부여와 관련

path 파라미터: 엔드포인트에서 쿼리문 이전의 파라미터

query string 파라미터: 쿼리문 내의 파라미터, 엔드포인트가 끝난 뒤 물음표 뒤에 온다

request body 파라미터: 리퀘스트 바디에 포함된 파라미터. 보통 json형식으로 제출된다

 

인증 절차가있어야 악의적인 유저로부터 타 유저의 데이터 보호가 가능!

 

{"api-key": "샬라샬라"}

pubilc은 보통 리퀘스트에 포함되지만 private은 패스워드와 같아 서버간의 통신에서만 사용

 

<basic auth>

Authorization: Basic bGdnjek =

-> 리퀘스트 헤더에 username:password 를 넣어 인증하는 방식. 

이를 사용하는 api는 https를 사용한다. 이 말의 뜻은 주고받는 메시지가 http프로토콜 내에서 암호화된다는 뜻이다.

 

<_OAuth 2.0>

다른 인증서버를 통해 api서버에 접근할 수 있는 권한을 부여받는 방법 (구글로 로그인하기 페북으로 로그인하기 같은)

oauth 1.0 은 인증만, oauth 2.0은 인증과 권한 부여를 모두 할 수 있다.

 

<path 파라미터>

엔드포인트의 일부로 {} 형태를 이룬다

 

<query string 파라미터>

엔드포인트 뒤에서 물음표 뒤에 등장하는 파라미터.

path 파라미터는 특정리소스를 정의할 필요가 있을 때,

query 파라미터는 정렬 혹은 필터링이 필요할 때 사용한다.

 

<request body 파라미터>

{

   "a": 2,

   "b": 3

}

 

-> 보통 post리퀘스트에서 json 오브젝트를 레퀘스트 바디 안에 넣어서 보내는데 이것을 리퀘스트 바디 파라미터라고하고

주로 json으로 되어있다.

댓글 영역