[python] 웹 서버에 파일 다운로드 기능 추가하기
웹 서버는 보통 파일을 제공하는 역할을 담당합니다. 이번에는 Python을 사용하여 간단한 웹 서버에 파일 다운로드 기능을 추가하는 방법에 대해 알아보겠습니다.
코드 작성하기
먼저, 필요한 Python 모듈을 import합니다.
import os
from flask import Flask, send_from_directory
그다음, Flask 애플리케이션을 생성합니다.
app = Flask(__name__)
파일을 다운로드할 경로를 지정합니다.
DOWNLOAD_DIR = './downloads'
다운로드 요청을 처리하기 위한 엔드포인트를 만듭니다.
@app.route('/download/<path:filename>')
def download_file(filename):
return send_from_directory(DOWNLOAD_DIR, filename, as_attachment=True)
마지막으로, 웹 서버를 실행합니다.
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
파일 다운로드하기
이제, 서버를 실행하면 /download
엔드포인트로 파일 다운로드 요청을 보낼 수 있습니다. 다음은 예시입니다.
wget http://localhost/download/sample.txt
이 명령을 실행하면 sample.txt
파일이 DOWNLOAD_DIR
에 있는 경우 다운로드됩니다.
결론
Python을 사용하여 파일 다운로드 기능을 갖춘 간단한 웹 서버를 만들었습니다. 이를 이용하면 파일을 쉽게 공유하고 다운로드할 수 있습니다.