Requests教程-15-文件上传与下载

news/2025/3/29 18:20:40/

领取资料,咨询答疑,请➕wei:  June__Go

上一小节,我们学习了requests的HTTPS请求方法,本小节我们讲解一下在requests文件上传与下载。

文件上传

使用requests库上传文件时,需要使用files参数,并将文件打开并读取为二进制格式。以下是使用requests库上传文件的示例:

import requestsurl = 'https://www.example.com/api/upload'
files = {'file': open('example.txt', 'rb')}
response = requests.post(url, files=files)
print(response.json())

在上面的示例中,我们使用requests库发送了一个POST请求到https://www.example.com/api/upload,并使用files参数上传了example.txt文件。然后,我们使用json()方法获取响应的JSON格式内容。

文件下载

1、小型文件

使用requests库下载小型文件时,需要使用get方法,并将文件保存到本地。以下是使用requests库下载文件的示例:

import requestsurl = 'https://www.example.com/api/download'
response = requests.get(url)
with open('example.txt', 'wb') as f:f.write(response.content)

在上面的示例中,我们使用requests库发送了一个GET请求到https://www.example.com/api/download,并将响应的内容保存到本地的example.txt文件中。

需要注意的是,使用requests库下载文件时,需要使用二进制模式打开文件,并将响应的内容保存到文件中。
2、大型文件

那么在有些情况下所下载的文件可能会有几十G这么大,而直接读取内容的话耗费时间也太长了,并且会一直占用大量内容和系统资源。所以下载大型文件时需要用到stream参数,它的作用就是将先创建连接。然后只有再调用特定方法时才开始下载文件,并且每次下载都不会超过设定好的内容上限,代码如下:

import requestsurl = 'https://www.example.com/api/download'
r = requests.get(url, stream=True)
f = open("example.txt", "wb")
#循环去读取信息写入,chunk_size=512文件大小
for chunk in r.iter_content(chunk_size=512):if chunk:#把循环读取的值,写入example.txt文件f.write(chunk)

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei:  June__Go


http://www.ppmy.cn/news/1374574.html

相关文章

「CISP习题精讲」CISP练习题中的10道题精讲

前言 闲下来,有空了,一下子更新了CISP考试中10道题的精讲部分。 习题部分 第一题 以下哪些不是《国家网络空间安全战略》中阐述的我国网络空间当前任务? A.捍卫网络空间主权 B.保护关键信息基础设施 C.提升网络空间防护能力 D.阻断与国外网络连接 ✅ 💖 解析💖 1…

粉色ui微信小程序源码/背景图/头像/壁纸小程序源码带流量主

云开发版粉色UI微信小程序源码,背景图、头像、壁纸小程序源码,带流量主功能。 云开发小程序源码无需服务器和域名即可搭建小程序另外还带有流量主功能噢!微信平台注册小程序就可以了。 这套粉色UI非常的好看,里面保护有背景图、…

网络安全(黑客)—自学2024

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

Mac 安装JDK,并通过命令切换不同版本jdk

mac电脑安装了jdk8、jdk11、jdk21 三个版本的jdk,在环境变量中配置命令,动态切换不同jdk 1.下载JDK,Mac建议下载xxxxx/jdk-21_macos-x64_bin.dmg https://download.oracle.com/java/21/latest/jdk-21_macos-x64_bin.dmg, 2.双击安…

基于SpringBoot的在线拍卖系统(附项目源码+论文)

摘要 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单管理、留言板管理、系统管理,用户;首页、个人中心、历史竞拍管理、竞拍订单管理、留言板管理&#xff0…

iostat命令详解

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 iostat是一个使用频率较高的命令,主要用来统计和输出CPU和磁盘IO信息。它的安装很简单: # yum -y insta…

List 集合遍历过程中删除元素避坑指南。

文章目录 1. 遍历2. 遍历过程中删除元素2.1 for 简单循环正向遍历方式2.2 for 简单循环反向遍历方式2.3 foreach 方式遍历删除2.4 Iterator的remove()方法2.5 <font color green> removeIf() &#xff08;推荐&#xff09;<green>2.6 Strem 方式 作为一名后端开发…

04. Nginx入门-Nginx WEB模块

测试环境 此处使用的yum安装的Nginx路径。 此处域名均在本地配置hosts。 主配置文件 路径&#xff1a;/etc/nginx/nginx.conf user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_connection…