requests 라이브러리란?
requests 라이브러리는 HTTP 요청을 보내기 위해 복잡한 작업을 단순화하여
사용자가 HTTP 요청을 보내는 과정을 매우 간단하게 만들어주는 라이브러리이다.
vscode cmd창에서 입력하여 설치할 수 있다.
pip install requests
장점
(1) 세션 지원
- requests.Session 객체를 사용하여 여러 요청 간에 지속적인 세션을 유지할 수 있다.
- 쿠키와 인증 정보를 쉽게 관리할 수 있다.
(2) 쿠키, 헤더, 파라미터 지원
- 요청 시 쿠키, 헤더, URL 파라미터 등을 쉽게 설정할 수 있다.
(3) 파일 업로드 및 다운로드
- 파일 업로드 및 다운로드 작업을 간단하게 수행할 수 있다.
(4) JSON 응답 처리
- JSON 형식의 응답을 쉽게 처리할 수 있다.
from flask import request
from flask_restful import Resource
# API 요청 라이브러리
import requests
# 내가 만든 보안 값 class
from config import Config
class NewSearchResource(Resource) :
def get(self) :
# params 에 쿼리 값이 없으면 리턴
if 'query' not in request.args :
return {"result":"fail", "error":"검색어는 필수입니다."}, 400
# params에 있던 값 변수로 저장 (딕셔너리여서 .get() 도 가능하다.)
keyword = request.args.get('query')
# 네이버 API 호출한다.
# API 호출하는 라이브러리 requests
# 파이썬 코드로 GET, POST, PUT, DELETE API를
# 처리해주는 라이브러리가 requests 다.
# openAPI 에서 제공하는 url, params
# params 안에는 내가 설정한 값 + 옵션들
# openAPI 를 사용할 수 있는 아이디 값 과 시크릿 값 입력
url = 'https://openapi.naver.com/v1/search/news.json'
params = {'query' : keyword,
'display' : 30,
'sort' : 'date'}
headers = {'X-Naver-Client-Id' : Config.X_NAVER_CLIENT_ID,
'X-Naver-Client-Secret' : Config.X_NAVER_CLIENT_SECRET}
# 값을 requests의 get()함수 사용해서 받아주기
response = requests.get( url, params= params, headers= headers)
# 응답으로부터 데이터를 JSON으로 받는다.
# 포스트맨 응답 바디에 JSON으로 되어있어서 가능하다.
response = response.json()
print( response )
return {"result" : "success",
"items" : response['items'],
"count" : len(response['items'])}
'RestFul API' 카테고리의 다른 글
instargram 사진 포스팅 API (2) 회원가입, 로그인, 로그아웃 API (0) | 2024.05.30 |
---|---|
instargram 사진 포스팅 API (1) 기본 세팅(Setting) 하기 (0) | 2024.05.30 |
관련 키워드가 포함된 뉴스 검색 API 만들기 (0) | 2024.05.29 |
RestFul API를 Serverless Framework로 연결하기 (0) | 2024.05.23 |
JWT 인증 토큰의 로그인 만료 시간 설정하기 (0) | 2024.05.22 |