文档章节

接口自动化之图片上传

o
 osc_1ee7cxmx
发布于 2018/08/06 21:28
字数 380
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

文件上传的接口和普通接口传参类似,有细微区别

 

 

目录

1、文件上传参数格式

2、举个栗子

 

1、文件上传参数格式

第一步:用fiddler抓取文件上传接口的参数

注:fakepath是浏览器为了安全,显示的一种路径,填写时,可以以真实为准

文件上传接口参数与普通post请求接口一样,需要写成key和value模式,key为name值,value为一个元组(与普通接口不同的地方),

name取值:name取Name这一栏里面的“name”的值

value取值:元组第一个值取filename的值,没有取None;第二个值,第一个值非None则取文件open打开的二进制流,否则取value的值;第三个值取Content-Type对应的值,若无则不填

实现代码如下:

u={
    "localUrl":(None,"E:\\1.png"),
    "imgFile":("1.png",open("E:\\1.png","rb"),"image/png")
}

 第二步:

发送post请求时,不再是data或者json,而是files

 

requests.post(url,files=X)

  

 

2、举个栗子

向一个网站传图片

# coding:utf-8

import requests

url1="http://mysrc.sinaapp.com/accounts/login/"
s=requests.session()
r=s.get(url1)

#使用cookies的set方法将cookies信息填进去
c=requests.cookies.RequestsCookieJar()

#域名一定要填写,不然会报错
c.set('csrftoken','efptBQUQSxN3AfWcjZAvWw0Kbtu1EjVz',path='/', domain='mysrc.sinaapp.com')
c.set('sessionid','be2d02ddfe45681a852d21da7036f858',path='/', domain='mysrc.sinaapp.com')
#更新一下cookies
s.cookies.update(c)

url2="http://mysrc.sinaapp.com/file_upload/?uuid=ec11f91e85b411e8930ebb639de404ef&dir=image"
u={
    "localUrl":(None,"1.png"),
    "imgFile":("1.png",open("D:\\1.png","rb"),"image/png")
}



r1=s.post(url2,files=u).json()     #文件上传参数用files
print r1

  

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

Buffer的创建及使用源码分析——ByteBuffer为例

目录 Buffer概述 Buffer的创建 Buffer的使用 总结 参考资料 Buffer概述 注:全文以ByteBuffer类为例说明 在Java中提供了7种类型的Buffer,每一种类型的Buffer根据分配内存的方式不同又可以分为...

osc_zoa046qb
11分钟前
11
0
《 ZooKeeper : Wait-free coordination for Internet-scale systems 》论文研读

Zookeeper 研读 说明:本文为论文 《 ZooKeeper : Wait-free coordination for Internet-scale systems 》 的个人理解,难免有理解不到位之处,欢迎交流与指正 。 论文地址:Zookeeper Paper...

osc_4isxawz4
12分钟前
8
0
利用__new__实现单例模式

26 利用__new__实现单例模式 python当中有很多方法都可以实现单例模式, 但利用__new__无疑是最推荐的方式. 代码如下: class Demo:is_instance = Nonedef __new__(cls, *args, **kwargs...

_Change_
14分钟前
4
0
如何白嫖微软Azure12个月及避坑指南

Azure是微软提供的一个云服务平台。是全球除了AWS外最大的云服务提供商。Azure是微软除了windows之外另外一个王牌,微软错过了移动端,还好抓住了云服务。这里的Azure是Azure国际不是Azure中...

osc_dwuu5jqk
14分钟前
0
0
Mybatis源码初探——优雅精良的骨架

@ 目录 前言 精良的Mybatis骨架 宏观设计 基础支撑 日志 日志的加载 日志的使用 数据源 数据源的创建 池化技术原理 数据结构 获取连接 回收连接 缓存 缓存的实现 CacheKey 反射 总结 前言 My...

osc_r9wwwi0j
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部