首页 > 编程语言 >python request上传多个文件和其他字段

python request上传多个文件和其他字段

时间:2023-09-05 13:14:03浏览次数:28  
标签:HTTP python 异常 request except print requests txt 上传

使用 requests 库可以方便地上传多个文件和其他字段。当使用Python的requests.post函数时,您可以在其中添加异常处理来捕获可能的网络错误或HTTP错误。

 

import requests

url = 'http://cbim.com/upload'
files = {'file1': ('file1.txt', open('file1.txt', 'rb'), 'text/plain'),
          'file2': ('file2.txt', open('file2.txt', 'rb'), 'text/plain')}
data = {'field1': 'value1', 'field2': 'value2'}

try:
    response = requests.post(url, files=files, data=data)
    response.raise_for_status()  # 检查响应状态码
    # 处理响应数据
    print(response.text)
except requests.exceptions.RequestException as e:
    # 处理网络请求异常
    print("请求异常:", e)
except requests.exceptions.HTTPError as e:
    # 处理HTTP错误
    print("HTTP错误:", e)
except Exception as e:
    # 处理其他异常
    print("其他异常:", e)
finally:
    # 关闭文件等资源
    for key, value in files.items():
        if value[1]:
            value[1].close()

 

在上面的代码中,使用try-except语句来捕获可能的异常。requests.exceptions.RequestException用于捕获一般的网络请求异常,requests.exceptions.HTTPError用于捕获HTTP错误,而Exception用于捕获其他未列出的异常。在except块中,可以根据需要编写处理异常的代码。

请注意,在finally块中,关闭了上传的文件,以确保释放资源。这是推荐的最佳实践,即使在发生异常的情况下也要确保资源的正确关闭。

 

#####################################

标签:HTTP,python,异常,request,except,print,requests,txt,上传
From: https://www.cnblogs.com/herd/p/17679327.html

相关文章

  • 不错的python爬虫框架
    ECommerceCrawlers准确来说,这不是一个开发的框架,而是一宗几十个“爬虫代码”的汇总,请大家用于学习和研究。多种电商商品数据......
  • TinyMCE实现WORD粘贴公式自动上传
    ​  自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能......
  • 【Python 自动化】自媒体剪辑第一版·思路简述与技术方案
    大家都知道我主业是个运维开发(或者算法工程师),每天时间不多,但我又想做自媒体。然后呢,我就想了个方案,每天起来之后写个短视频的脚本,包含一系列图片和文字,然后上班的时候给它提交到流水线上跑,下班之前就能拿到视频,然后往各大平台上一传,是不是挺美滋滋的。我和我之前的合伙人一说,他就......
  • python版本升级
    https://zhuanlan.zhihu.com/p/439552243CentOS7中默认安装了Python,版本比较低(2.7.5),为了使用python3.7.8,需要对旧版本进行升级。由于很多基本的命令、软件包都依赖旧版本,比如:yum。所以,在更新Python时,建议不要删除旧版本(新旧版本可以共存)。一、查看当前python版本[root@l......
  • python 学习过程1
    第一天可以用加号连接字符串:利用反斜杠闭合单引号防止和后面的单引号闭合导语句错误。变量赋值之后,重复利用:先用greet(招呼)作为变量,然后你好吃了么作为赋值这里保留了中文打招呼和英文打招呼目的就是为了防止赋值丢失变量取名规则:文字、数字、下划线组成。(zhang_3)不能有下划线之外......
  • python的dict和json数据的区别
    python的dict和json数据有什么区别?-知乎(zhihu.com)python字典与json的区别_python字典与json的区别_阿君聊风控的博客-CSDN博客expectedpropertynameor'}'injsonatposition1遇到如上报错几次,因为没弄清dict和json的区别1、dict是数据结构,json是数据格式,一般用于......
  • VSCode - 配置Python的默认解释器
     1、查看VsCode中默认使用的python解释器 2、Ctrl+Shift+p打开命令行面板 3、输入Python:SelectInterpreter命令,配置默认的解释器   4、默认解释器生效  ......
  • vs code 中 python 项目 settings.json 是做什么用的
    在VisualStudioCode中,项目的settings.json文件是用于配置项目设置的文件。其中,settings.json文件中保存了项目特定的设置,可以覆盖全局默认设置或用户设置。对于Python项目来说,settings.json文件可以用于配置以下内容:Python解释器路径:通过"python.pythonPath"属性......
  • 软件测试|Django 入门:构建Python Web应用的全面指南
    引言Django是一个强大的PythonWeb框架,它以快速开发和高度可扩展性而闻名。本文将带您深入了解Django的基本概念和核心功能,帮助您从零开始构建一个简单的Web应用。什么是Django?Django是一个基于MVC(模型-视图-控制器)设计模式的Web框架,旨在简化Web应用程序的开发过程。它由Django软......
  • day④-Python之路
    本节大纲迭代器&生成器装饰器 基本装饰器多参数装饰器递归算法基础:二分查找、二维数组转换正则表达式常用模块学习作业:计算器开发实现加减乘除及拓号优先级解析用户输入 1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2......