[파이썬] requests 웹 API와의 통신

웹 API를 활용하면 다른 서비스 또는 시스템과 데이터를 주고받을 수 있습니다. Python에서는 requests라는 라이브러리를 사용하여 웹 API와 통신할 수 있습니다. 이번 포스트에서는 requests를 사용하여 웹 API와의 통신을 어떻게 할 수 있는지 알아보겠습니다.

requests 모듈 설치

먼저, requests 모듈을 설치해야 합니다. Python에서 pip를 사용하여 requests를 설치할 수 있습니다.

pip install requests

GET 요청 보내기

requests 모듈을 사용하여 GET 요청을 보내는 방법을 살펴보겠습니다. GET 요청은 서버로부터 데이터를 가져올 때 사용됩니다.

import requests

# GET 요청 보내기
response = requests.get('https://api.example.com/data')

# 응답 상태 코드 확인
if response.status_code == 200:
    # 응답 데이터 출력
    print(response.json())
else:
    print('요청에 실패했습니다.')

GET 요청을 보내기 위해 requests.get() 함수를 사용합니다. 함수 인자로 요청 URL을 전달합니다. 응답을 받은 후에는 response 객체를 사용하여 응답 상태 코드와 데이터를 확인할 수 있습니다.

POST 요청 보내기

requests 모듈을 사용하여 POST 요청을 보내는 방법을 살펴보겠습니다. POST 요청은 서버로 데이터를 보낼 때 사용됩니다.

import requests

# POST 요청 보내기
data = {
    'name': 'John Doe',
    'email': 'johndoe@example.com'
}
response = requests.post('https://api.example.com/submit', data=data)

# 응답 상태 코드 확인
if response.status_code == 200:
    # 응답 데이터 출력
    print(response.json())
else:
    print('요청에 실패했습니다.')

POST 요청을 보내기 위해 requests.post() 함수를 사용합니다. 함수에는 요청 URL과 함께 전송할 데이터를 전달합니다. 데이터는 딕셔너리 형태로 전달하며, 서버에서는 이 데이터를 받아 처리할 수 있습니다.

인증된 요청 보내기

인증된 요청을 보내기 위해서는 requests 모듈에서 제공하는 인증 관련 기능을 사용해야 합니다. 다음 코드는 API 키를 사용하여 인증된 요청을 보내는 예시입니다.

import requests

# API 키 설정
api_key = 'YOUR_API_KEY'

# 인증된 GET 요청 보내기
auth = {
    'api_key': api_key
}
response = requests.get('https://api.example.com/data', auth=auth)

# 응답 상태 코드 확인
if response.status_code == 200:
    # 응답 데이터 출력
    print(response.json())
else:
    print('요청에 실패했습니다.')

인증된 요청을 보내기 위해 auth 매개변수를 사용하여 요청에 필요한 인증 정보를 전달합니다. 예시에서는 API 키를 auth 매개변수에 전달하여 인증된 요청을 보내고 있습니다.

requests 모듈은 다양한 기능과 옵션을 제공하므로, API 요청에 필요한 다른 설정들을 적용할 수 있습니다. requests 공식 문서를 참고하여 더 자세한 사용 방법을 알아보세요.