1. Requests
Requests 는 파이썬에서 HTTP를 사용하기 위해 쓰여지는 라이브러리로,
기본 내장 라이브러리는 아니지만 거의 표준처럼 널리 쓰이고 있다.
설치방법
pip install requests
2. 요청
어떤 방식(method)의 HTTP 요청을 하느냐에 따라서 해당하는 이름의 함수를 사용하면 된다.
메소드들을 사용해서 요청하면 Response 객체를 반환한다.
- GET 방식
requests.get(url, params=None, **kwargs)
- POST 방식
requests.post(url, data=None, json=None, **kwargs)
- PUT 방식
requests.put(url, data=None, **kwargs)
- DELETE 방식
requests.delete(url, **kwargs)
- 원하는 method를 문자열로 받아 자유롭게 요청하고 싶은 경우, 다음과 같이 사용할 수 있다.
requests.request('GET', 'https://example.com')
requests.request(method='GET', url='https://example.com')
3. Parameter
- url(str)
요청하고 싶은 URL. 필수 파라미터 - params(str, dict)
url 뒤에 params를 쿼리스트링 형식으로 추가해 요청한다. - data(str, dict)
Body에 data를 추가해서 요청한다. - json(dict)
json 매개변수는 어떠한 서버에 json 데이터를 전송해야되는 경우 유용하게 쓰일 수 있다.
json 매개변수를 사용하면 요청 헤더에 기본적으로 Content-Type이 application/json 으로 지정이 된 상태로 요청이 된다. - headers(dict)
headers 파라미터는 요청할때 기본적인 헤더에 추가/수정/편집하여 서버에 전송한다.
여기까지 자주 쓰는 파라미터를 알아보았고 더 자세한 내용은 문서를 참고하자.
4. 응답
요청(request)을 보내면 응답(response)을 python 객체로 받는다.
그리고 이 Response 객체는 많은 정보와 기능을 가지고 있다.
자주 쓰는 몇가지만 정리해보겠다.
response = requests.get('https://example.com')
# 내가 보낸 request 객체에 접근 가능
response.request
# 응답 코드
response.status_code
# 200 (OK 코드)이 아닌 경우 에러 raise
response.raise_for_status()
# json response일 경우 딕셔너리 타입으로 바로 변환
response.json()
# content 속성을 통해 바이너리 타입으로 데이터를 받을 수 있다.
response.content
# text 속성을 통해 UTF-8로 인코딩된 문자열을 받을 수 있다.
response.text
# encoding 정보 확인
response.encoding
reference : https://me2nuk.com/Python-requests-module-example/#request-kwargs
'REST API' 카테고리의 다른 글
네이버 오픈API 활용 - Papago 번역 API (0) | 2023.01.13 |
---|---|
네이버 오픈API 활용 - 뉴스 검색 API (0) | 2023.01.13 |
API서버 - 클라이언트에게 받은 이미지와 텍스트를 DB에 저장하는 API (0) | 2023.01.13 |
API서버 - AWS Rekognition을 사용한 Object Detection API (0) | 2023.01.13 |
API서버 - @jwt_required(optional=True)를 이용한 분기 처리 (0) | 2023.01.10 |