python3 支持上传下载httpserver
时间: 2023-10-09 15:16:28 浏览: 163
【python】基于python实现的simple-http-server服务,集成上传下载功能
是的,Python 3支持通过HTTP协议进行文件的上传和下载操作。你可以使用内置的`http.server`模块来创建一个简单的HTTP服务器,并通过浏览器或其他HTTP客户端来上传和下载文件。
下面是一个简单的示例代码,展示了如何使用Python 3创建一个HTTP服务器,支持文件的上传和下载:
```python
from http.server import HTTPServer, SimpleHTTPRequestHandler
# 定义请求处理类,继承自SimpleHTTPRequestHandler
class MyRequestHandler(SimpleHTTPRequestHandler):
# 重写do_POST方法,处理POST请求
def do_POST(self):
content_length = int(self.headers['Content-Length'])
file_data = self.rfile.read(content_length)
# 保存上传的文件
with open('uploaded_file.txt', 'wb') as file:
file.write(file_data)
self.send_response(200)
self.end_headers()
self.wfile.write(b'File uploaded successfully!')
# 创建HTTP服务器,监听本地的8888端口
server_address = ('', 8888)
httpd = HTTPServer(server_address, MyRequestHandler)
# 启动服务器
print('Server running on http://localhost:8888')
httpd.serve_forever()
```
运行上述代码后,你可以通过浏览器访问`http://localhost:8888`来访问服务器。点击页面上的上传按钮,选择一个文件进行上传,上传后会在服务器上保存名为`uploaded_file.txt`的文件。
如果你想下载服务器上的文件,可以直接在浏览器中访问`http://localhost:8888/uploaded_file.txt`,浏览器会开始下载该文件。
注意:这只是一个简单的示例,使用了Python 3的内置模块,适用于简单的文件上传和下载需求。对于更复杂的需求,你可能需要使用第三方库或框架来处理。
阅读全文