热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python+requests实现fromdata接口类型自动化

如何将from-data的接口类型自动化1、先通过postman将from-data接口类型调通,在去看代码的实现过程 从code中可以清晰的看到在代码请求的过程中有一个heade

如何将from-data的接口类型自动化

1、先通过postman将from-data接口类型调通,在去看代码的实现过程

 从code中可以清晰的看到在代码请求的过程中有一个headers、data、files参数上传。一般from-data的接口类型区别在于多了一个files参数,需要抓包或手工调通之后看代码的实现过程中有哪些相关的参数。

2、代码通过files参数来实现:

 直接用files参数传入不需要更新from-data的头部信息

def add_file(s, base_url):
"""上传文件"""
url = base_url + "接口路径"
payload = {
"size": 15348,
"file_name": "打卡.xlsx",
"parent_type": "explorer",
"parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh"
}
files = {
"file": (
"打卡.xlsx", open(file_path_1, "rb"), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
}
r = s.post(url, files=files, data=payload)
return r
if __name__ == '__main__':
s = requests.Session() -- 使用requests库里session会话功能,将token更新到头部,便于下个接口调用
s.headers.update(headers)
base_url = '域名'
result = add_file(s, base_url)
print(result.text)

 3、通过requests_toolbelt插件来进行编码处理

 用requests_toolbelt插件来实现需要传入from-data接口的头部信息,通过传参变量来更新content-type。

def add_file_1(s, base_url):
"""上传文件"""
url = base_url + "接口路径"
payload = MultipartEncoder(
fields={
"size": "15348",
"file_name": "打卡.xlsx",
"parent_type": "explorer",
"parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh",
"file": ("打卡.xlsx", open(file_path_1, "rb"),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
}
)
r = s.post(url, data=payload, headers={"Content-Type": payload.content_type}) --更新from-data的content-type
return r

if __name__ == '__main__':
s = requests.Session() --使用requests库里面的session会话,将token更新到头部,便于下个接口的使用
s.headers.update(headers)
base_url = '域名'
result = add_file_1(s, base_url)
print(result.text)

如何将登录后的token取出更新到头部可以参考这篇博客。https://www.cnblogs.com/xdsa/p/15230735.html

 



推荐阅读
  • SAP接口编程PyRFC 调用 BAPI_FIXEDASSET_CREATE1创建固定资产
    本篇演示通过PyRFC调用BAPI_FIXEDASSET_CREATE1在SAP系统中创建固定资产,再一次体验一下Python与其它语言相比的简洁性。首先简单说明B ... [详细]
  • 软件测试对于减少程序BUG有多大帮助?有经验的程序员通常认为测试与代码同等重要,测试可以减少代码变更或扩展的不确定性。测试应该方便阅读简单且能快速运行 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • python限制递归次数(python最大公约数递归)
    本文目录一览:1、python为什么要进行递归限制 ... [详细]
  • Spring Boot 中 Java8 LocalDateTime 序列化问题
    LoginController页面如下:publicObjectlogin(@RequestBodyUseruser){returnxxxx ... [详细]
  • 使用Postman调试API遇到“400 Bad Request”问题
    问题今日使用Postman调试一个临时接手的API,参照调用程序代码填充好请求头、请求体参数(post),Postman客 ... [详细]
  • 背景后端使用Nginx并更改本地host文件,起本地服务。将aaa.bbbb.com代理至本地IP地址(10.26.36.156)。使用$.ajax调用后端restful接口,要求 ... [详细]
  • 那么多优秀的自动化测试工具,而你只知道Selenium?
    如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成 ... [详细]
  • php实现用户注册登录界面的方法:1、创建log.php登录主界面;2、设置register.php注册主界面;3、通过mysqli_connect连接数据库并进行相应的数据操作即可。 ... [详细]
author-avatar
热门星座排行榜空间
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有