-->

接口自动化之Python3_Requests之上传头像

2020-10-31 10:40发布

工作中经常会遇到比如上传文件的接口,那么遇到这些接口该如何处理呢?

今天我们来给大家举个例子:
比如我们要上传一张编测编学论坛用户头像的照片:
正常手工流程:
1.鼠标挪动到右上角用户头像,浮窗里点击小齿轮,如下图所示:

2.进入个人设置页面后,选择修改头像

3.在本地选择一张帅气/漂亮的头像,点击确定,就可以完成上传
那么如何使用requests实现这个操作呢?
话不多说直接上代码:

1 url_upload_avatar='http://www.bcbxhome.com/bcbxxy/uc_server/index.php?m=user&a=uploadavatar&appid=1&input=6c88%2BV1B5VoMLDzXXSFexg0RaKaats948J3LegrTODCap%2BwyBxcuMxbkjH46LSoepfGWpX%2FCMYJerBT%2FYSioQyJyoWBZ1TDvCCc3oy%2FHqlDcNVasowz092s&agent=43fbb95c9bbbf2dcd00331855caa9051&ucapi=www.bcbxhome.com%2Fbcbxxy%2Fuc_server&avatartype=virtual&uploadSize'
2 headers_upload = {'Cookie':'这里是一大串cookie,cookie用于鉴权,且会失效,所以调试时,请取自己最新登录过的cookie值'}
3 files = {'Filedata':open('bcbxhomelogo.jpg','rb')}
4 result_upload_avatar = requests.post(url_upload_avatar,headers=headers_upload,files=files)
5 print(result_upload_avatar.text)

bcbxhomelogo.jpg其中这个可以换成你自己本地的图片,可以用相对路径也可以用绝对路径,我这个图片和脚本在同一目录下,所以直接写图片名称即可
上传成功后的返回如下:

http://www.bcbxhome.com/bcbxxy/uc_server/data/tmp/upload7.jpg

需要注意这里的不同的用户数字会变化,是正常现象,尝试在浏览器中打开这张图片

要真正生效还需要剪裁才行,原理相同,这里就不多赘述了
是不是很简单?快来动手试试吧!

标签: