[파이썬] requests 바이너리 응답 처리

이 블로그 글에서는 Python의 requests 라이브러리를 사용하여 바이너리 응답을 처리하는 방법에 대해 알아보겠습니다. requests는 HTTP 요청을 보내고 응답을 받는 데 사용되는 인기있는 라이브러리입니다.

바이너리 응답 처리하기

requests를 사용하여 서버에서 전송된 바이너리 응답을 처리하는 것은 간단합니다. requests.get() 함수를 사용하여 GET 요청을 수행하고, response.content 속성을 사용하여 응답의 바이트로 된 내용을 가져올 수 있습니다.

import requests

url = "https://example.com/image.jpg"
response = requests.get(url)

# 바이너리 응답에서 이미지 저장
with open("image.jpg", "wb") as f:
    f.write(response.content)

print("이미지 다운로드 완료!")

위의 예제에서는 "https://example.com/image.jpg" URL에서 이미지를 다운로드하여 image.jpg 파일로 저장합니다. response.content는 바이너리로 된 응답 내용을 나타내며, open() 함수를 사용하여 파일을 열고 write() 메서드를 통해 내용을 기록합니다.

바이너리 응답 다운로드

바이너리 응답을 다운로드할 때는 response.iter_content() 함수를 사용하여 조각적으로 다운로드할 수 있습니다. 이를통해 메모리를 효율적으로 사용하고 큰 파일을 처리할 때 유용합니다.

import requests

url = "https://example.com/large_file.zip"
response = requests.get(url, stream=True)

# 바이너리 응답 조각을 파일에 기록
with open("large_file.zip", "wb") as f:
    for chunk in response.iter_content(chunk_size=1024):
        if chunk:
            f.write(chunk)

print("파일 다운로드 완료!")

위의 예제에서는 "https://example.com/large_file.zip" URL에서 대용량 파일을 조각적으로 다운로드하여 large_file.zip 파일로 저장합니다. response.iter_content() 함수는 조각적으로 응답을 가져오고, chunk_size 매개변수를 사용하여 한 번에 가져올 조각의 크기를 지정합니다.

요약

이 블로그 글에서는 Python의 requests 라이브러리를 사용하여 바이너리 응답을 처리하는 방법에 대해 알아보았습니다. requests.get()를 사용하여 바이너리 응답을 가져오고, response.content 속성을 사용하여 내용을 처리할 수 있습니다. 또한, response.iter_content() 함수를 사용하여 조각적으로 바이너리 응답을 다운로드할 수 있습니다.

바이너리 응답 처리는 파일 다운로드뿐만 아니라 이미지 처리, API 요청 등 다양한 시나리오에서 유용하게 사용될 수 있습니다. requests 라이브러리의 다른 기능과 결합하여 웹 개발에 활용하세요.