使用httplib库进行文件上传下载的示例代码
发布时间:2023-12-27 09:17:04
httplib是Python的一个HTTP请求库,可以用于发送HTTP请求、处理HTTP响应等操作。下面是使用httplib库进行文件上传和下载的示例代码:
文件上传示例代码:
import httplib
def upload_file(url, file_path):
# 打开待上传的文件
with open(file_path, 'rb') as f:
file_content = f.read()
# 建立与服务器的连接
conn = httplib.HTTPConnection(url)
# 设置请求头,指定上传文件的文件名
headers = {'Content-type': 'application/octet-stream',
'Content-Disposition': 'attachment; filename=' + file_path}
# 发送HTTP请求,指定为POST方法
conn.request('POST', '/upload', body=file_content, headers=headers)
# 获取服务器的响应
response = conn.getresponse()
# 输出响应的状态码和内容
print(response.status, response.read())
# 关闭连接
conn.close()
# 调用文件上传函数
upload_file('www.example.com', 'test.txt')
文件下载示例代码:
import httplib
def download_file(url, file_path):
# 建立与服务器的连接
conn = httplib.HTTPConnection(url)
# 发送HTTP请求,指定为GET方法
conn.request('GET', '/download')
# 获取服务器的响应
response = conn.getresponse()
# 判断响应的状态码,如果为200表示请求成功
if response.status == 200:
# 将响应的内容写入文件中
with open(file_path, 'wb') as f:
f.write(response.read())
print('文件下载成功')
else:
print('文件下载失败')
# 关闭连接
conn.close()
# 调用文件下载函数
download_file('www.example.com', 'test.txt')
使用例子:
1. 文件上传:
将上述示例代码保存为upload.py,并在命令行中执行:
python upload.py
执行后,将会上传当前目录下的test.txt文件到指定的服务器。
2. 文件下载:
将上述示例代码保存为download.py,并在命令行中执行:
python download.py
执行后,将会从指定的服务器下载文件,并保存为当前目录下的test.txt文件。
