iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python使用requests实现发送带文件请求功能
  • 464
分享到

python使用requests实现发送带文件请求功能

python requests发送文件请求python requests发送请求 2022-12-08 20:12:49 464人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1. requests发送文件功能2. requests发送多个文件请求3. Django 接收文件1. requests发送文件功能 Requests 使得上传多部分编码文件变

1. requests发送文件功能

Requests 使得上传多部分编码文件变得很简单

url = 'Http://httpbin.org/post'
files = {'file': open('D:/APPs.png', 'rb')}
r = requests.post(url, files=files)
print(r.text)

你可以显式地设置文件名,文件类型和请求头:

url = 'http://httpbin.org/post'
files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
r = requests.post(url, files=files)
print(r.text)

如果你想,你也可以发送作为文件来接收的字符串

url = 'http://httpbin.org/post'
files = {'file': ('report.csv', 'some,data,to,send\nanother,row,to,send\n')}

r = requests.post(url, files=files)
print(r.text)

如果你发送一个非常大的文件作为 multipart/fORM-data 请求,你可能希望将请求做成数据流。默认下 requests 不支持, 但有个第三方包 requests-toolbelt 是支持的。你可以阅读 toolbelt 文档 来了解使用方法。

2. requests发送多个文件请求

只要把文件设到一个元组的列表中,其中元组结构为 (form_field_name, file_info)
按照如下格式发送数据

data = {'ts_id': tsid}
files = [('images',('1.png', open('/home/1.png', 'rb'),'image/png')),('images',('2.png', open('/home/2.png', 'rb'),'image/png'))]
r = requests.post(url, data=data, files=files)
print r.text

3. DjanGo 接收文件

附带介绍Django里面如何接收图片文件数据:
读取文件:

from werkzeug.utils import secure_filename
 
def upload_file(request):
    if request.method == 'POST':
        uploaded_files = request.FILES.getlist("images")
        try:
            for file in uploaded_files:
                filename = secure_filename(file.name)
                handle_uploaded_file(os.path.join(ft, filename), file)
        except Exception as e:
            result_JSON = {"msg": str(e)}
        result = {
            'json': result_json
        }
        return JsonResponse(result, safe=False)

保存文件:

def handle_uploaded_file(filename, f):
    try:
        destination = open(filename, 'wb+')
        for chunk in f.chunks():
            destination.write(chunk)
        destination.close()
    except Exception as e:
        raise Exception('save %s failed: %s' % (filename, str(e)))

requests 官网:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html#post-multipart-encoded

到此这篇关于Python使用requests实现发送带文件请求的文章就介绍到这了,更多相关python requests发送文件请求内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python使用requests实现发送带文件请求功能

本文链接: https://www.lsjlt.com/news/174429.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python使用requests实现发送带文件请求功能
    目录1. requests发送文件功能2. requests发送多个文件请求3. Django 接收文件1. requests发送文件功能 Requests 使得上传多部分编码文件变...
    99+
    2022-12-08
    python requests发送文件请求 python requests发送请求
  • 怎么在python中利用requests发送请求
    这篇文章给大家介绍怎么在python中利用requests发送请求,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通...
    99+
    2023-06-14
  • python接口自动化使用requests库发送http请求
    目录前言一、requests库二、HTTP 请求方法三、发送GET请求四、发送POST请求五、获取响应数据六、高级操作6.1文件下载6.2文件上传6.3SSL证书验证6.4保持会话6...
    99+
    2024-04-02
  • RestTemplate实现发送带headers的GET请求
    目录RestTemplate 发送带headers的GET请求发送自定义header的POST请求发送自定义header的GET请求结果RestTemplate优雅的发送Get请求方...
    99+
    2024-04-02
  • Python urllib3和requests发送HTTPS请求时出现SSLError或InsecureRequestWarning
    目录 问题及原因分析优先考虑的解决方法:下载证书使用证书手动获取证书 不推荐使用的备用解决方法:关闭方法衍生问题 参考文档 问题及原因分析 在我们通过urllib3和request...
    99+
    2023-08-30
    python https ssl 爬虫 网络爬虫
  • 使用HttpURLConnection发送POST请求并携带请求参数
    1、先创建URL对象,指定请求的URL地址。 URL url = new URL("http://example.com/api"); 2、调用URL对象的openConnection()方法创建HttpURLConnection对象。 ...
    99+
    2023-08-31
    java spring intellij-idea spring boot
  • 在Java项目中如果发送http请求实现文件上传功能
    在Java项目中如果发送http请求实现文件上传功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体代码如下所示:package wxapi.WxHelper; import...
    99+
    2023-05-31
    java http ava
  • Java发送form-data请求实现文件上传
    如何使用Java发送form-data格式的请求上传multipart文件,供大家参考,具体内容如下 封装了以下工具类: package com.leeyaonan.clinkz.c...
    99+
    2024-04-02
  • 怎么用VBS实现发送带Cookie的HTTP请求
    这篇文章主要介绍怎么用VBS实现发送带Cookie的HTTP请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!为了方便测试,先写一个回显Cookie的简单的PHP程序: 代码如下:<php foreach($_...
    99+
    2023-06-08
  • 在java项目中使用java.net.URLConnection实现一个发送HTTP请求功能
    这期内容当中小编将会给大家带来有关在java项目中使用java.net.URLConnection实现一个发送HTTP请求功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、前言如何通过Java发送HT...
    99+
    2023-05-31
    java.net.urlconnection http java
  • Python Http发送请求怎么实现
    本篇内容介绍了“Python Http发送请求怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!浅析requests在不借助其...
    99+
    2023-07-02
  • RestTemplate怎么实现发送带headers的GET请求
    这篇文章主要讲解了“RestTemplate怎么实现发送带headers的GET请求”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“RestTemplate怎么实现发送带headers的GET...
    99+
    2023-06-25
  • Python使用POST方法发送HTTP请求的15个示例(基于requests)
    以下是使用requests库调用HTTP接口进行POST请求的15个示例: 发送简单的POST请求: import requestspayload = { 'key1': 'value1', '...
    99+
    2023-09-01
    python http
  • 怎么使用Java自带的mail API实现邮件发送功能
    本篇内容主要讲解“怎么使用Java自带的mail API实现邮件发送功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Java自带的mail API实现邮件发送功能”...
    99+
    2023-07-05
  • Python如何实现邮件发送功能
    本篇内容主要讲解“Python如何实现邮件发送功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现邮件发送功能”吧!smtplib 与 email 模块 可以帮助我们正常的发送...
    99+
    2023-06-30
  • Java如何实现带附件的邮件发送功能
    这篇文章主要讲解了Java如何实现带附件的邮件发送功能,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。需要导入mail.jar、activation.jar这两个邮件发送的jar包,可在网上搜索并下载需要设置相关...
    99+
    2023-05-31
    java ava
  • 使用JAVA实现邮件发送功能的图文教程
    目录一、准备工作1.1 登录网页QQ邮箱,点击页面顶部设置按钮。1.2 点击后会打开邮箱设置页面,如下所示,点击第二栏账户。1.3 点击后往下拉,直到有如下页面选项。1.4 验证完成...
    99+
    2024-04-02
  • Java发送form-data请求怎么实现文件上传
    这篇“Java发送form-data请求怎么实现文件上传”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java发送form-...
    99+
    2023-07-02
  • Java使用HttpUtils怎么实现发送HTTP请求
    本篇文章和大家了解一下Java使用HttpUtils怎么实现发送HTTP请求。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。目录第一部分:简单总结HTTP请求常用配置第二部分:使用JavaLib的HttpUtils第三部分...
    99+
    2023-07-06
  • 如何使用Perl实现邮件发送功能
    如何使用Perl实现邮件发送功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。use Net::SMTP_auth;$smtp = Net::SMTP_auth->new...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作