[파이썬] requests 파일 업로드하기
파일 업로드는 웹 애플리케이션에서 중요한 기능 중 하나입니다. 하지만 Python의 기본 모듈인 urllib
은 파일을 업로드하기에는 다소 복잡한 인터페이스를 제공합니다. 이에 반해, requests
라이브러리는 간단하고 직관적인 인터페이스를 제공하여 파일 업로드를 쉽게 처리할 수 있습니다.
requests
라이브러리 설치
먼저, requests
라이브러리를 설치해야 합니다. pip
를 사용하여 다음 명령을 실행해주세요:
pip install requests
파일 업로드 예제
다음은 requests
를 사용하여 파일을 업로드하는 간단한 예제입니다.
import requests
# 업로드할 파일 경로
file_path = '/path/to/file.txt'
# 업로드할 URL
url = 'https://example.com/upload'
# 파일 업로드
with open(file_path, 'rb') as file:
response = requests.post(url, files={'file': file})
위의 코드에서는 다음과 같은 작업을 수행합니다:
requests
모듈을 임포트합니다.- 업로드할 파일의 경로를 변수
file_path
에 할당합니다. - 업로드할 URL을 변수
url
에 할당합니다. open()
함수를 사용하여 파일을 이진 모드('rb'
)로 엽니다.requests
의post()
메서드를 사용하여 파일을 업로드합니다.files
매개변수에는 파일 객체를 딕셔너리 형태로 전달합니다. 이 때, 키는file
로 지정하거나, 서버 측에서 요구하는 키에 맞게 수정할 수 있습니다.- 응답은 변수
response
에 할당됩니다.
파일 업로드 시 추가 매개변수 전달하기
인코딩된 데이터나 추가 매개변수를 업로드 요청에 함께 전달해야하는 경우에도 requests
를 사용할 수 있습니다. 예를 들어, 다음과 같이 업로드할 파일과 함께 텍스트 필드를 전송할 수 있습니다.
import requests
# 업로드할 파일 경로
file_path = '/path/to/file.txt'
# 업로드할 URL
url = 'https://example.com/upload'
# 추가 데이터
data = {'name': 'John Doe', 'email': 'john.doe@example.com'}
# 파일 업로드
with open(file_path, 'rb') as file:
response = requests.post(url, files={'file': file}, data=data)
위의 코드에서는 data
딕셔너리를 사용하여 추가적인 데이터를 정의하고, data
매개변수를 사용하여 업로드 요청에 함께 전달합니다.
결론
파일 업로드는 Python의 requests
라이브러리를 사용하여 간단하게 처리할 수 있습니다. 위의 예제 코드를 참고하여 파일 업로드를 구현해보세요. requests
라이브러리는 다양한 기능을 제공하므로, 자세한 내용은 공식 문서를 참조하시기 바랍니다.
Happy coding!