python基础知识-文件上传和下载

使用Requests进行文件上传和下载

文件上传

文件上传是指向服务器发送文件的过程,通常使用POST请求方式。Requests库提供了一个files参数,可以用来指定要上传的文件。files参数接受一个字典,其中键是服务器接收文件的字段名,值是一个文件对象或者一个文件元组。文件元组的格式为(filename, fileobj [, content_type [, custom_headers]]),其中filename是文件名,fileobj是文件对象,content_type是文件类型,custom_headers是自定义的请求头。

例如,假设我们要向一个URL为https://example.com/upload的接口上传一个图片文件55.png和一个文本文件55.json,我们可以这样写:

import requests

# 打开要上传的文件
image = open('55.png', 'rb')
text = open('55.json', 'rb')

# 构造files参数
files = {
    'images': ('55.png', image, 'image/png'),
    'file': ('55.json', text)
}

# 发送POST请求
response = requests.post('https://example.com/upload', files=files)

# 关闭文件
image.close()
text.close()

# 处理响应
if response.status_code == 200:
    print('上传成功')
else:
    print('上传失败')

文件下载

文件下载是指从服务器获取文件的过程,通常使用GET请求方式。Requests库提供了一个content属性,可以用来获取响应内容的二进制形式。我们只需要把content属性写入到一个文件中,就可以实现文件下载。

例如,假设我们要从一个URL为https://example.com/download的接口下载一个PDF文件55.pdf,我们可以这样写:

import requests

# 发送GET请求
response = requests.get('https://example.com/download')

# 处理响应
if response.status_code == 200:
    # 获取响应头中的文件名
    header = response.headers
    filename = header.get('Content-Disposition')
    # 如果没有找到文件名,可以自己指定一个
    if not filename:
        filename = 55.pdf'
    # 打开一个新文件
    file = open(filename, 'wb')
    # 写入响应内容
    file.write(response.content)
    # 关闭文件
    file.close()
    print('下载成功')
else:
    print('下载失败')
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值