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으로 되어있다.
댓글 영역