HTTP를 위한 Python의 요청 라이브러리를 사용하는 방법

requests ​​라이브러리는 HTTP 요청 프로세스를 간소화하는 인기 있는 Python 모듈입니다. 요청 및 응답 처리의 복잡성을 추상화하여 웹 서비스 및 API와 상호 작용하기 쉽게 만듭니다. 이 문서에서는 다양한 유형의 HTTP 요청을 보내고 응답을 처리하는 방법을 포함하여 requests ​​라이브러리 사용의 기본 사항을 살펴보겠습니다.

요청 라이브러리 설치

requests ​​라이브러리를 사용하려면 먼저 설치해야 합니다. Python 패키지 관리자인 pip를 사용하여 설치할 수 있습니다. 터미널에서 다음 명령을 실행하세요.

pip install requests

간단한 GET 요청 만들기

가장 기본적인 HTTP 요청은 GET 요청으로, 서버에서 데이터를 검색합니다. requests ​​라이브러리를 사용하여 GET 요청을 만드는 방법은 다음과 같습니다.

import requests

response = requests.get('https://api.github.com')
print(response.status_code)
print(response.json())

이 예제에서는 GitHub API에 GET 요청을 보내고 HTTP 상태 코드와 응답 내용을 JSON 형식으로 출력합니다.

POST 요청 보내기

POST 요청은 폼 제출과 같은 데이터를 서버로 보내는 데 사용됩니다. requests ​​라이브러리로 POST 요청을 보내는 방법은 다음과 같습니다.

import requests

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=data)
print(response.status_code)
print(response.json())

이 예제에서는 일부 양식 데이터가 포함된 POST 요청을 httpbin.org 테스트 서비스로 보내고 응답 상태 코드와 내용을 출력합니다.

쿼리 매개변수 처리

때로는 요청에 쿼리 매개변수를 포함해야 합니다. requests ​​라이브러리는 매개변수를 사전으로 전달할 수 있도록 하여 이를 쉽게 해줍니다.

import requests

params = {'search': 'python', 'page': 1}
response = requests.get('https://httpbin.org/get', params=params)
print(response.status_code)
print(response.url)

이 예제에서는 GET 요청에 쿼리 매개변수를 포함하고 매개변수가 포함된 최종 URL을 인쇄합니다.

헤더 작업

인증이나 콘텐츠 유형 지정과 같은 경우 요청에 사용자 지정 헤더를 포함해야 할 수 있습니다. 요청에 헤더를 추가하는 방법은 다음과 같습니다.

import requests

headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('https://api.github.com/user', headers=headers)
print(response.status_code)
print(response.json())

이 예에서는 GitHub API에 대한 요청에 인증 헤더를 포함하고 상태 코드와 응답 내용을 출력합니다.

시간 초과 및 예외 처리

네트워크 타임아웃 및 기타 예외와 같은 잠재적인 문제를 처리하는 것이 중요합니다. requests ​​라이브러리를 사용하면 타임아웃을 지정하고 예외를 잡을 수 있습니다.

import requests
from requests.exceptions import RequestException

try:
    response = requests.get('https://httpbin.org/delay/5', timeout=3)
    response.raise_for_status()
    print(response.status_code)
    print(response.text)
except RequestException as e:
    print(f'An error occurred: {e}')

이 예제에서 우리는 요청에 대한 시간 초과를 설정하고 발생하는 모든 예외를 포착하며, 문제가 발생하면 오류 메시지를 출력합니다.

결론

requests ​​라이브러리는 Python에서 HTTP 요청을 만드는 강력하고 사용자 친화적인 도구입니다. API에서 데이터를 검색하든, 양식 제출을 보내든, 사용자 지정 헤더를 처리하든, requests ​​라이브러리는 몇 줄의 코드만으로 이러한 작업을 쉽게 수행할 수 있도록 합니다. 이 문서에서 다루는 기본 사항을 숙지하면 Python 프로젝트에서 웹 서비스 및 API와 상호 작용할 준비가 잘 됩니다.