python request file upload_Python requests实现图片上传接口自动化测试

最近帮别人写个小需求,需要本地自动化截图,然后图片自动化上传到又拍云,实现自动截图非常简单,在这里就不详细介绍了,主要和大家写下,如何通过Python+requests实现上传本地图片到又拍云服务器。

话不多说,因为我们要使用requests库实现图片上传接口自动化,那么第一步就需要进行按照requests。

一、安装:

pip install requests

二、开码:

1、因为要上传图片,所以我们得先登录又拍云,拿到cookies,登录接口实现代码如下:

def getCookies(self,username,password):

url = "https://console.upyun.com/accounts/signin/"

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',

'Content-Type': 'application/x-www-form-urlencoded',

'Accept': 'application/json, text/plain, */*',

'Referer': 'https://console.upyun.com/login/',

'Accept - Encoding': 'gzip, deflate, br',

'Accept - Language': 'zh - CN, zh;q = 0.9'

}

body = {

'password': password,

'username': username

}

requests.packages.urllib3.disable_warnings()

r = requests.post(url, data=body, headers=headers, verify=False)

cookies = r.cookies

return cookies

2、此时我们就可以调用登录接口拿到cookies,从而就可以直接掉上传图片接口传图片了。

cookies = getCookies("zhangsan","123qwe")

headersUpload = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',

'Accept': 'application/json, text/plain, */*',

'Referer': 'https://console.upyun.com/services/adver/filemanage/',

'Accept - Encoding': 'gzip, deflate, br',

'x-file-size': '209482',

'Content-Length': '209663',

'Accept - Language': 'zh - CN, zh;q = 0.9'

}

files = {"file": (filename, open(picPath+filename, "rb"), "image/png")}

requests.packages.urllib3.disable_warnings()

try:

r = requests.put(

"https://console.upyun.com/folder/projectA/test//"+filename, files=files, headers=headersUpload,

cookies=cookies, verify=False)

except BaseException as e:

print("上传图片失败!",str(e))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值