python requests 库请求带有文件参数的接口实例

有些接口参数是一个文件格式,比如fiddler 抓包参数如下显示

这个接口的 form-data fiddler 显示的和不带文件参数的接口有明显区别,显示的不是简单的键值对,所以我们也不能只通过 data给接口传参,需要再value为<file>的参数通过 files传参

data = {
  "CSRFName": “CSRFName”,
  "CSRFToken": “CSRFToken”,
  "importType": "XML",
  "hit_criteria": "name",
  "action_on_duplicated_name": "generate_new",
  "useRecursion": "0",
  "bIntoProject": "0",
  "containerID": "4956",
  "MAX_FILE_SIZE": "409600",
  "UploadFile": "上传文件"
 }

files = {"uploadedFile": open(file_name, "rb")}
r = session.post(url=url, data=data, files=files)

这样我们通过requests 再次请求接口,通过fiddler 抓包,验证一下requests的请求是不是和原始的请求一致。

fiddler 显示的form data和原始请求一致,说明我们请求参数是正确的。

以上这篇python requests 库请求带有文件参数的接口实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用python将请求的requests headers参数格式化方法

    如下所示: import json # 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量 headers = """ Host: zhan.qq.com Proxy-Connection: keep-alive Content-Length: 799432 Pragma: no-cache Cache-Control: no-cache Origin: http://zhan.qq.com User-Agent: Mozilla/5.0 (Win

  • 浅谈python requests 的put, post 请求参数的问题

    post, put请求的参数有两种形式 一种是把参数拼接在url中 对应postman 第二种是把参数放在body中 对应postman 在Python requests 库中 一般在的资料都会介绍 post,put请求的参数 用data 这种情况下参数会放在body中 但是有些接口参数通过body传入获取不到只能获取到URL中的参数 我们就需要用到 类似于get请求中的 params 传入参数 requests.post(url=url, params=data, verify=False,

  • Python requests模块实例用法

    1.Requests模块说明 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. 在Python的世界里,事情不应该这么麻烦. Requests 使用的是 urllib3,因此继承了它的所有特性.Request

  • python requests.post带head和body的实例

    如下所示: # coding = utf-8 import requests import json host = "http://47.XX.XX.XX:30000" endpoint=r"/api/v1/carXX/addCarXX" url = ''.join([host,endpoint]) headers = \ { "X-Member-Id": "23832170000", "X-Region"

  • python requests 库请求带有文件参数的接口实例

    有些接口参数是一个文件格式,比如fiddler 抓包参数如下显示 这个接口的 form-data fiddler 显示的和不带文件参数的接口有明显区别,显示的不是简单的键值对,所以我们也不能只通过 data给接口传参,需要再value为<file>的参数通过 files传参 data = { "CSRFName": "CSRFName", "CSRFToken": "CSRFToken", "import

  • Python requests库参数提交的注意事项总结

    字典与json字符串区别 # python 中的字典格式,是dict类型 {'a': 'sd'} 如果声明a = {"a": "sd"},它仍是字典,不过python会默认将双引号换成单引号,最后打印的仍然为{'a': 'sd'} # python 中的json字符串,是str类型 {"a": "sd"} 两者差别在于引号 在爬虫的过程中有些请求参数是json字符串的,有的是字典类型的,要区分json字符串和字典 json字符

  • Python requests库用法实例详解

    本文实例讲述了Python requests库用法.分享给大家供大家参考,具体如下: requests是Python中一个第三方库,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求.接下来将记录一下requests的使用: 安装 要使用requests库必须先要安装: pip install requests 创建请求 通过requests库发出一个请求非常简单,首先我们先导入

  • Python Requests库基本用法示例

    本文实例讲述了Python Requests库基本用法.分享给大家供大家参考,具体如下: requests是python的一个http client库,提供了一套简捷的API供开发者使用.下面简单介绍一下其安装和使用.这里是官方文档. 0 安装 pip install requests 1 发送请求 r=requests.get('https://www.baidu.com') print r.status_code,r.text r=requests.post('http://httpbin.

  • python requests库的使用

    requests模块 使用requests可以模拟浏览器的请求,requests模块的本质是封装了urllib3模块的功能,比起之前用到的urllib,requests模块的api更加便捷 requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求,但是selenium模块就可以执行js的操作. 安装: pip3 install requests 请求方式:主要用到的就get和post两种 #各种请求方式:常用的就是reques

  • 解决Python requests库编码 socks5代理的问题

    编码问题 response = requests.get(URL, params=params, headers=headers, timeout=10) print 'self.encoding',response.encoding output: self.encoding ISO-8859-1 查了一些相关的资料,看了下requests的源码,只有在服务器响应的头部包含有Content-Type,且里面有charset信息,requests能够正确识别,否则就会使用默认的 ISO-8859

  • 基于python requests库中的代理实例讲解

    直接上代码: #request代理(proxy) """ 1.启动代理服务器Heroku,相当于aliyun 2.在主机1080端口启动Socks 服务 3.将请求转发到1080端口 4.获取相应资源 首先要安装包pip install 'requests[socksv5]' """ import requests #定义一个代理服务器,所有的http及https都走socks5的协议,sock5相当于http协议,它是在会话层 #把它转到本机的

  • Python 标准库zipfile将文件夹加入压缩包的操作方法

    zipfile模块是python中一个处理压缩文件的模块,解决了不少我们平常需要处理压缩文件的需求.大家还知道Python zipfile 库可用于压缩/解压 zip 文件. 本文介绍一下如何创建压缩包. 将 "文件" 加入压缩包 假设目录结构如下: my_project |- 唐诗三百首.txt # 这是要打包的文件 |- demo.py # 演示代码会在这里编写 |- _______ # 我们想要在这里生成一个名为 "output.zip" 的文件 "

  • python requests.post请求404问题及解决方法

    目录 问题场景 问题分析 postman测试 问题解决 结论 问题场景 有时候,在编写一段http接口请求程序时,发现代码中的header头和请求体中都是原网页中一样,但是,在实际请求时,接口却返回404,代码如下 header = { # ':authority': 'm.ctrip.com', # ':method': 'POST', # ':path': '/restapi/soa2/20405/getPCSightList', # ':scheme': 'https', 'accept'

  • python通过urllib2获取带有中文参数url内容的方法

    本文实例讲述了python通过urllib2获取带有中文参数url内容的方法.分享给大家供大家参考.具体如下: 对于中文的参数如果不进行编码的话,python的urllib2直接处理会报错,我们可以先将中文转换成utf-8编码,然后使用urllib2.quote方法对参数进行url编码后传递. content = u'你好 jb51.net' content = content.encode('utf-8') content = urllib2.quote(content) api_url =

随机推荐