파이썬 프로그래밍

파이썬 요청 모듈 requests get, post, header 사용 방법

코니코니 2023. 1. 2. 14:00
반응형

파이썬 요청 모듈 requests get, post, header 사용 방법


요청 모듈은 Python 스크립트에서 HTTP 요청을 간단하게 만드는 인기 있는 Python 라이브러리입니다. 아름답고 단순한 API 이면에서 요청을 만드는 복잡성을 추상화하므로 서비스와의 상호 작용 및 애플리케이션의 데이터 소비에 집중할 수 있습니다.

 

설치
요청 모듈을 설치하려면 시스템에 Python이 설치되어 있어야 합니다. Python은 공식 Python 웹 사이트 https://www.python.org/에서 다운로드하여 설치할 수 있습니다. 파이썬을 처음 접하는 분들이라면 환경 변수를 설정해야 하는데 우측 링크에서 환경 변수 설정을 참고하세요. 환경 변수 설정

 

Python이 설치되면 터미널 창을 열고 다음을 실행합니다.

pip install requests

 

이렇게 하면 요청 모듈이 설치되고 Python 스크립트에서 사용할 수 있습니다.

GET 요청
요청 모듈은 Python에서 HTTP 요청을 만드는 간단한 방법을 제공합니다. 요청을 하려면 요청 모듈을 가져오고 .get() 함수를 호출하여 액세스하려는 리소스의 URL을 전달해야 합니다. 예를 들어 사용자 목록을 검색하기 위해 JSONPlaceholder API에 GET 요청을 하려면 다음 예시를 참고하세요.

import requests

response = requests.get("https://jsonplaceholder.typicode.com/users")
print(response.text)

.get() 함수는 요청에 대한 서버의 응답을 포함하는 Response 객체를 반환합니다. Response 개체에는 응답 본문을 문자열로 포함하는 .text와 같이 액세스할 수 있는 여러 속성이 있습니다.

.get() 함수에 추가 매개변수를 전달하여 요청을 사용자 정의할 수도 있습니다. 예를 들어 요청에서 쿼리 매개변수를 보내려면 params 키워드 인수를 .get() 함수에 전달할 수 있습니다.

import requests

response = requests.get("https://jsonplaceholder.typicode.com/comments", params={"id": 1})
print(response.text)

이렇게 하면 id 쿼리 매개변수가 1로 설정된 /comments 끝점에 GET 요청을 보냅니다.

POST 요청
요청 모듈을 사용하여 POST 요청을 만들려면 .get() 함수와 유사한 방식으로 작동하는 .post() 함수를 사용할 수 있습니다. 예를 들어 JSONPlaceholder API에서 새 사용자를 만들려면 다음을 수행합니다.

import requests

data = {"name": "John", "username": "johndoe", "email": "john@example.com"}
response = requests.post("https://jsonplaceholder.typicode.com/users", json=data)
print(response.text)

.post() 함수는 액세스하려는 리소스의 URL을 첫 번째 인수로 사용하고 요청에서 보내려는 데이터를 json 키워드 인수로 사용합니다. 이 경우 새 사용자의 이름, 사용자 이름 및 이메일이 포함된 JSON 개체를 보냅니다.

 

 

headers 사용

requests.get() 함수의 headers 매개변수를 사용하여 요청에 HTTP 헤더를 포함할 수 있습니다.

다음은 요청에 User-Agent 헤더를 포함하는 방법의 예입니다.

import requests

headers = {'User-Agent': 'MyUserAgent/1.0'}
response = requests.get('https://www.example.com', headers=headers)

headers 사전에 더 많은 키-값 쌍을 추가하여 여러 헤더를 포함할 수도 있습니다.

headers = {
    'User-Agent': 'MyUserAgent/1.0',
    'Accept-Language': 'en-US'
}
response = requests.get('https://www.example.com', headers=headers)

requests.get() 함수에는 요청과 함께 HTTP 헤더를 보내는 데 사용할 수 있는 headers 매개 변수도 있습니다.

response = requests.get(
    'https://www.example.com',
    headers={'User-Agent': 'MyUserAgent/1.0'}
)

또한 requests.head() 함수를 사용하여 선택한 헤더와 함께 HEAD 요청을 보낼 수 있습니다.

response = requests.head(
    'https://www.example.com',
    headers={'User-Agent': 'MyUserAgent/1.0'}
)
반응형