美文网首页
使用python请求视频上传接口

使用python请求视频上传接口

作者: 测试老杨 | 来源:发表于2019-01-17 10:51 被阅读70次

思路

1)需要一个文件类型的参数:Filedata
2)需要两个字符串类型的参数,分别为用户上传钥匙(writetoken)和视频信息(JSONRPC)
3)使用requests框架发送post请求
4)使用json框架将响应内容解析为字典
5)使用unittest框架进行验证

接口地址

http://v.polyv.net/uc/services/rest?method=uploadfile

接口功能描述

作用:上传本地视频

接口参数说明

writetoken:string类型,用户的上传钥匙
JSONRPC:string类型,json格式,{"title": "标题", "tag":"标签","desc":"描述"}
Filedata:file类型,支持的文件格式为:flv, avi, mpg, mp4, wmv等

响应结果码说明

0:无错误,上传成功
1:找不到writetoken关联的user
2:文件为空或者writetoken为空
3:提交的json名字JSONRPC为null
4:提交文件格式不正确
15:后台处理出错
16:用户的可用空间已用完
17:writetoken已经过期

设计python脚本

# coding=utf-8

import requests
import json
import unittest


class UploadTest(unittest.TestCase):
    """
    请求上传视频的接口
    """
    def test_upload(self):
        """
        test case
        :return:
        """
        url = 'http://v.polyv.net/uc/services/rest?method=uploadfile'
        jsonrpc = "{\"title\": \"标题yzc0116\", \"tag\":\"标签yzc0116\",\"desc\":\"描述yzc0116\"}"
        filepath = 'C:\\Users\\yangzc\\Desktop\\FlickAnimation.avi'
        # 打开文件
        fo = open(filepath, 'rb')
        # video表示实际的文件参数
        video = {'Filedata': fo}
        # params表示实际的参数列表,包括:writetoken和JSONRPC这两个参数
        params = {'writetoken': '7043f898-8322-4e39-8bb5-7956bf0eb641', 'JSONRPC': jsonrpc}
        response = requests.post(url, data=params, files=video)
        print(response.text)
        # self.assertEqual("{\"error\":\"0\"}", response.text)
        entity = json.loads(response.text)
        self.assertEqual(0, int(entity['error']))
        # 关闭文件
        fo.close()

运行python脚本

image.png

参考资料

open函数使用参考:
http://www.runoob.com/python/python-func-open.html
requests使用参考:
https://www.cnblogs.com/ranxf/p/7808537.html
https://www.cnblogs.com/lilinwei340/p/6417689.html

扫码关注本人公众号

image.png

相关文章

网友评论

      本文标题:使用python请求视频上传接口

      本文链接:https://www.haomeiwen.com/subject/eawbdqtx.html