SeouliteLab

파이썬으로 안전하게 HTTP 요청 보내기: urllib3 라이브러리 활용 방법 본문

카테고리 없음

파이썬으로 안전하게 HTTP 요청 보내기: urllib3 라이브러리 활용 방법

Seoulite Lab 2024. 4. 19. 09:02

HTTP 요청을 보내는 것은 웹 개발에서 빈번하게 발생하는 작업 중 하나입니다. 하지만 보안 상의 이유로 HTTP 요청을 안전하게 처리해야 할 때가 있습니다. urllib3는 파이썬의 내장 라이브러리 중 하나로, 안전하고 신뢰할 수 있는 HTTP 요청을 보내는 데 도움을 줍니다. 이 블로그에서는 urllib3 라이브러리를 사용하여 파이썬에서 안전하게 HTTP 요청을 보내는 방법에 대해 알아보겠습니다.

1. 기본적인 GET 요청 보내기

urllib3를 사용하여 기본적인 GET 요청을 보내는 예제를 살펴보겠습니다.

import urllib3

# HTTP 요청 보내기
http = urllib3.PoolManager()
response = http.request('GET', 'https://jsonplaceholder.typicode.com/posts/1')
print("응답 상태 코드:", response.status)
print("응답 본문:", response.data.decode('utf-8'))

위 코드는 urllib3를 사용하여 GET 요청을 보내고, 응답을 받아서 출력하는 예제입니다.

2. POST 요청 보내기

urllib3를 사용하여 POST 요청을 보내는 예제를 살펴보겠습니다.

import urllib3
import json

# 데이터 준비
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
encoded_data = json.dumps(data).encode('utf-8')

# HTTP POST 요청 보내기
http = urllib3.PoolManager()
response = http.request('POST', 'https://jsonplaceholder.typicode.com/posts', body=encoded_data, headers={'Content-Type': 'application/json'})
print("응답 상태 코드:", response.status)
print("응답 본문:", response.data.decode('utf-8'))

위 코드는 urllib3를 사용하여 POST 요청을 보내고, 응답을 받아서 출력하는 예제입니다.

3. 요청에 대한 예외 처리하기

urllib3를 사용하여 요청에 대한 예외를 처리하는 예제를 살펴보겠습니다.

import urllib3

# HTTP 요청 보내기
http = urllib3.PoolManager()
try:
    response = http.request('GET', 'https://example.com/nonexistent')
except urllib3.exceptions.HTTPError as e:
    print("HTTP 에러 발생:", e)
except urllib3.exceptions.RequestError as e:
    print("요청 에러 발생:", e)
else:
    print("응답 상태 코드:", response.status)

위 코드는 urllib3를 사용하여 요청을 보내고, 발생하는 예외를 처리하는 예제입니다.

urllib3 라이브러리를 사용하면 파이썬에서 안전하고 신뢰할 수 있는 HTTP 요청을 보낼 수 있습니다.