b站网页版视频投稿接口分析

news2024/12/23 4:53:03

b站网页版视频投稿接口分析

    • 上传视频逻辑如下:
      • 1.预加载
      • 2.获取准备上传到服务器的数据
      • 3.分片上传(块大小最大为10MB/10485760字节)
      • 4.上传完成进行合片
    • 上传封面逻辑如下:
    • 投稿视频:

B站投稿视频(手稿)
本教程对应B站投稿视频页面
在这里插入图片描述

准备工作如下:
Cookie (用户已登录)至少包含以下字段 buvid4 bsource buvid3 b_nut DedeUserID DedeUserID__ckMd5 SESSDATA sid bili_jct
Csrf

上传视频逻辑如下:

1.预加载

GET https://member.bilibili.com/preupload?name=+ 文件名+ &r=upos&profile=ugcupos%2Fbup&ssl=0
通过携带cookie并get请求,响应如下:在这里插入图片描述

2.获取准备上传到服务器的数据

POST endpoint + upos_uri+ ?uploads&output=json
X-Upos-Auth auth(上方的auth)
将上方的站点和upos_uri 地址拼接到一起
这里不用携带cookies,通过上方返回的auth参数,并加入到header中X-Upos-Auth,post请求
在这里插入图片描述

3.分片上传(块大小最大为10MB/10485760字节)

PUT endpoint + upos_uri + ?partNumber= 分页起始(1开始)+ &uploadId= uploadId + &chunk=起始位置(0开始)+&chunks= 分区结束位置+&size= 本次传输最大长度 + &start= + 文件开始偏移位置 + &end= 文件结束偏移位置+&total=文件长度
Content-Type application/octet-stream"
X-Upos-Auth auth(上方的auth)
无响应(请求结束返回MULTIPART_PUT_SUCCESS为本次上传成功)
这里可以异步执行

4.上传完成进行合片

POST endpoint + urlPath + ?output=json&name= + fileName + &profile=ugcupos%2Fbup&uploadId= + uploadId + &biz_id= + biz_id(预加载的biz_id);
X-Upos-Auth auth(上方的auth)
Cookie (本次需要携带)
在这里插入图片描述

上传封面逻辑如下:

POST https://member.bilibili.com/x/vu/web/cover/up
cookie (本次需要携带)
Content-Type form-data
cover data:image/jpeg;base64,图片的base64编码
csrf cookie中的bili_jct参数
在这里插入图片描述

投稿视频:

POST https://member.bilibili.com/x/vu/web/add/v3
cookie (本次需要携带)
Content-Type application/json
{ “cover”: “封面地址”, “title”: “标题”, “copyright”: 1, “tid”: 视频分区id, “tag”: “标签,标签”, “desc_format_id”: 0, “desc”: “”, “recreate”: -1, “dynamic”: “”, “interactive”: 0, “videos”: [ { “filename”: “n230711a23bpe14iqooneo3nd7igkz1u”, “title”: “response2”, “desc”: “”, “cid”: 1191440337 } ], “act_reserve_create”: 0, “no_disturbance”: 0, “adorder_type”: 9, “no_reprint”: 1, “subtitle”: { “open”: 0, “lan”: “” }, “dolby”: 0, “lossless_music”: 0, “up_selection_reply”: false, “up_close_reply”: false, “up_close_danmu”: false, “web_os”: 1, “csrf”: cookie中的bili_jct参数}

投稿成功返回视频的bvId

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/744611.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习】:用于 GAN 的生成器架构 - 生成人脸

一、说明 生成对抗网络(GAN)是机器学习中一个相对较新的概念,于2014年首次推出。他们的目标是合成与真实图像无法区分的人工样本,例如图像。GAN 应用程序的一个常见示例是通过从名人人脸数据集中学习来生成人工人脸图像。虽然GAN图像随着时间的推移变得更加逼真,但它们的主…

短视频seo矩阵源码私有化部署方案

目录 前 言 一。 短视频seo矩阵算法 二、 短视频seo源码功能构建 三、 短视频seo私有化部署流程解读 前 言 为了更好地提高短视频平台的SEO优化效果,许多企业开始尝试私有化部署方案。这样做的好处在于,企业可以根据自身的特点和需求来灵活调整矩阵源…

龙蜥开发者说:参与开源要敢于担任不同角色 | 第 21 期

「龙蜥开发者说」第 21 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者支智…

教你纯小白选对Java路线

许多人问如何开启JAVA的入门这里有两个层次: 首先,你是一个局外人。你一天只用电脑一两个小时,玩游戏,其他什么都不知道。你听说JAVA很受欢迎,而且薪水很高,你想要开始学习如何入门。 这个入门,就是进入编程…

关于Apache-Commons-Lang3中元组的使用

关于Apache-Commons-Lang3中元组的使用 在日常工作中,有时候我们并不清楚有这些工具类的存在,造成在开发过程中重新实现导致时间浪费,且开发的代码质量不佳。而 apache 其实已经提供了系列的工具包给我们使用,只是大多数人&#x…

通过列排斥能比较两组迭代次数

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由6张二值化的图片组成,让差值结构中有6个1, 行分布是0,1,1,1,1,2列分布是2,2,2.统计迭代次…

回归预测 | MATLAB实现ELM极限学习机多输入单输出回归预测(多指标、相关图)

回归预测 | MATLAB实现ELM极限学习机多输入单输出回归预测(多指标、相关图) 目录 回归预测 | MATLAB实现ELM极限学习机多输入单输出回归预测(多指标、相关图)效果一览基本介绍程序设计学习总结参考资料效果一览 基本介绍 回归预测 | MATLAB实现ELM极限学习机多输入单输出回…

由于找不到d3dx9_43.dll,有什么可靠的修复方法?

由于找不到d3dx9_43.dll,无法继续执行代码,这种情况大家是否有遇见过?其实就算没遇到过,大家应该也有遇到别的dll文件丢失吧?道理都一样,都是dll文件丢失,我们只需要把它给修复就可以了&#xf…

第一阶段-第五章 Python的函数

目录 一、函数的介绍  1.学习目标  2. 什么是函数  3.本节的演示  4.为什么要学习、使用函数  5.本小节的总结 二、函数的定义  1.学习目标  2.函数的语法  3.本节的代码演示  4.本小节的总结  5.练习案例:自动查核酸 三、函数的参数  1.学习…

Mac 查看端口和关闭进程

经常使用 node 启动本地,有时一不小心按了 Ctrl Z (Command Z)把服务关闭了,但实际上没真正关闭该服务,再次启动服务很可能会提示端口号被占用。 系统环境:Mac 查看端口的详细端口占用情况 命令&#xf…

Scrapy爬虫框架集成Selenium来解析动态网页

1、爬虫项目单独使用scrpay框架的不足 当前网站普遍采用了javascript 动态页面,特别是vue与react的普及,使用scrapy框架定位动态网页元素十分困难,而selenium是最流行的浏览器自动化工具,可以模拟浏览器来操作网页,解…

【PCIE】Device Control Register (Offset 08h)

Maximum Payload Size “Maximum Payload Size” (最大传输负载大小)是PCI Express设备控制寄存器中的一个位域,用于设置设备支持的最大传输负载的大小。 PCI Express使用数据包(Packet)来传输数据,而数据…

2024考研408-操作系统 第二章-进程与线程 学习笔记

文章目录 前言一、进程1.1、进程的概念、组成与特征1.1.1、进程的概念1.1.2、进程的组成认识PCB认识程序段与数据段(包含进程实体概念) 1.1.3、进程的特征知识回顾与重要考点 1.2、进程的状态、状态间的转换和组织方式1.2.1、进程的状态进程的五种状态详…

微信扫码跳转小程序实现web登录

前面博客我有写微信扫码跳转h5实现登录,但是需要申请服务号 最近项目迭代,想到小程序能做扫码登录的话,web网页端和小程序同时登录账户不是更好吗,还不用额外申请服务号 第一步 打开微信公众平台,在“开发”菜单下点击…

springcloud笔记二

配置管理服务是共有的,结合微服务自身的配置。这样核心配置更改就无需逐个更改 配置管理: 首先新建一个配置管理 Data ID为配置文件的名称 一般为项目名称-项目环境yaml,如userservice-dev.yaml 编写配置内容,发布 获取nacos配置信息: 可能…

数据透视表:pivot_table()--Pandas

1. 函数功能 创建数据透视表,返回一个EXCEL形式的数据透视表。 2. 函数语法 DataFrame.pivot_table(valuesNone, indexNone, columnsNone, aggfuncmean, fill_valueNone, marginsFalse, dropnaTrue, margins_nameAll, observedFalse, sortTrue)3. 函数参数 参数…

Vue3 父子组件之间传值

Vue3TSVite环境开发 1.父组件给子组件传递方法,属性和值 父组件引入子组件处里面绑定方法 showBtn ,属性name和值msg 子组件通过defineProps()来接收 子组件页面显示父组件的方法 showBtn ,属性name和值msg 2.父组件接收子组件传递的…

ModaHub魔搭社区:向量数据库Zilliz Cloud的AUTOINDEX教程

目录 创建索引和向量搜索 总结 为满足用户不同需求,Zilliz Cloud 提供 3 种类型的集群 CU——性能型、容量型和经济型。但是,为不同类型 CU 集群中的 Collection 创建索引时,通常需要根据所选择的 CU 类型调整索引参数。为了方便您创建索引,免去调节参数的麻烦,Zilliz C…

Metasploit Pro 4.22.1-2023070501 (Linux, Windows) - 渗透测试框架

Metasploit Pro 4.22.1-2023070501 (Linux, Windows) - 渗透测试框架 Rapid7 Penetration testing 请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 世界…

投影矩阵公式推导

如下图所示&#xff1a; y对x投影记作yx&#xff0c;则&#xff1a; <yx, x> <yx z, x> |yx| * |x| yx |yx| * x / |x| <yx, x> / |x| *x / |x| &#xff0c;即可得到下图中的矩阵。 注意该矩阵的如下性质&#xff1a; p是对称的rank 1p^2 p QE分…