Upload Server
Case 1
create server.py:
from http.server import HTTPServer, SimpleHTTPRequestHandler
import sys
class UploadHandler(SimpleHTTPRequestHandler):
def do_POST(self):
content_length = int(self.headers['Content-Length'])
file_data = self.rfile.read(content_length)
filename = self.path.strip('/')
if not filename:
filename = 'uploaded_file'
with open(filename, 'wb') as f:
f.write(file_data)
self.send_response(201)
self.end_headers()
self.wfile.write(f'File {filename} uploaded successfully'.encode())
if __name__ == '__main__':
port = 8000
httpd = HTTPServer(('0.0.0.0', port), UploadHandler)
print(f'Server started on port {port}...')
httpd.serve_forever()
Run
Use cases:
#
curl --upload-file my_document.txt http://localhost:8000/my_document.txt
#
curl -X POST --data-binary "@image.png" http://localhost:8000/image.png
Case 2
Install
Use cases:
curl -X POST http://localhost:8000/upload -F "[email protected]"