对网页接口的追踪探索(以b站通过bv号查询av号为例
对网页接口的追踪探索(以b站通过bv号查询av号为例
序言
本文只提供一种探索网页加载时后端访问接口情况的思路,所举例子没有太大实际用处。
一

自2020年3月23日起,AV号将全面升级到BV号。但是以往的的视频既保留的之前的av号,还添加了新的bv号。在此通过bv号查询旧的av号。
二
随便打开一个B站视频网页,打开开发者调试,查看网络访问。然后我发现一个接口的访问参数有bv号,于是便查看一下这个接口



发现这个接口参数有两个,一个cid不知道是什么,一个bvid经查验就是这个视频的bv号。
接口的响应里发现有一项数据为data.aid,经查验aid就是av号。
三
因为是通过bv号查询av号,参数cid并不知道是什么,所以测试一下这个接口

访问这个接口,只传入bvid这个参数

然后响应照常输出,说明这个接口只传入bvid一个参数也可以正常访问
四
写一段简单的js方法在浏览器运行
function getAV(BV){
$.ajax({
type:"GET",
url:"https://api.bilibili.com/x/web-interface/view",
data:{bvid:BV},
success: function(res){
console.log(res.data.aid)
}
})
}
在getAV方法中传入bv号,控制台中将输出av号
测试情况

经查验,控制台输出的“88302213”正是bv“BV1Z741157rm”对应的av号
成功
对网页接口的追踪探索(以b站通过bv号查询av号为例的更多相关文章
- 微信支付接口开发之---微信支付之JSSDK(公众号支付)步骤
1.准备 1.1.公众号为服务号,开通微信支付功能 1.2.为了方便调试微信后台的回调URL(必须为外网),我用了nat123软件来做一个映射 1.3.官方微信开发的示例WxP ...
- 用c#开发微信 (19) 公众平台接口权限列表说明 - 订阅号、服务号认证后的区别
最新发现有些原来认证服务号的权限对认证的订阅号开放了,这里是官方的文档说明<公众平台接口权限列表说明>,明显比这里说得详细.准确多了<微信公众平台服务号.订阅号的相关说明>.另 ...
- 快递单号查询免费api接口(PHP示例)
快递单号查询API,可以对接顺丰快递查询,邮政快递查询,中通快递查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务.对于电商企业,ERP服务企业,集成此接口到自己的软 ...
- 物流一站式单号查询之快递鸟API接口(附Demo源码)
连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...
- opentracting+jager分布式链路追踪探索实践
一.Opentracing opentracing通过提供平台无关.厂商无关的API,使得开发人员可以方便地实现追踪系统.opentracing提供了用于运营支撑系统和针对特定平台的辅助程序库,被跟踪 ...
- C++实现微信WeChat网页接口推送股票报警消息
QStockView微信推送股票报警 1.功能简介 最近很多用户反馈,软件只能在电脑上使用,不能在手机上使用.所以增加了微信推送报警的功能,电脑端的报警提示消息可以通过微信同步发送到手机微信.这样即可 ...
- Delphi通过IE窗口句柄获取网页接口(IWebBrowser2) good
主要用到的是MSAA(Microsoft Active Accessibility) 函数:ObjectFromLResult,该函数在动态链接库 oleacc.dll 中定义. uses SHDoc ...
- Delphi通过IE窗口句柄获取网页接口(IWebBrowser2)
主要用到的是MSAA(Microsoft Active Accessibility) 函数:ObjectFromLResult,该函数在动态链接库 oleacc.dll 中定义. uses SHDoc ...
- 微信公众号订阅号以及服务号通过网页授权获取用户openid方法
微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 官方流程 网页授权流程分为四步: 1.引导用户 ...
随机推荐
- JS仿贪吃蛇:一串跟着鼠标的Div
贪吃蛇是一款80后.90后比较熟悉的经典游戏,下面通过简单的JS代码来实现低仿版贪吃蛇效果:随着鼠标的移动,在页面中呈现所有Div块跟随鼠标依次移动,效果如下图所示. <!DOCTYPE htm ...
- TypeScript注意
中文文档中,元组目前已经不能越界访问
- http 请求体数据处理2--ngx
HTTP 处理数据包, 有的业务不需要,此时只需要将数据包文读取后丢弃, 但是ngx 为什么还要提供一个丢弃接口呢???解决了什么问题?? ------对于HTTP模块而言,放弃接收包体就是简单地不处 ...
- 四、c++总结------linux多线程服务端编程
- 【java从入门到精通】day08-java流程控制-用户交互Scanner--顺序结构--选择结构
1.java流程控制 Scanner对象: Java提供了一个工具类,可以获取用户的输入 java.until.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入 基本语 ...
- MapReduce的工作流程
MapReduce的工作流程 1.客户端将每个block块切片(逻辑切分),每个切片都对应一个map任务,默认一个block块对应一个切片和一个map任务,split包含的信息:分片的元数据信息,包含 ...
- 推荐一个适用于SpringBoot项目的轻量级HTTP客户端框架,快来试试它!
在SpringBoot项目直接使用okhttp.httpClient或者RestTemplate发起HTTP请求,既繁琐又不方便统一管理.因此,在这里推荐一个适用于SpringBoot项目的轻量级HT ...
- mysql的索引、视图、存储过程(自我理解总结)
一.索引 索引在MySQL中也叫'键'或者'key',是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要,减少IO次数,加 ...
- python3处理csv文件
1. 基础语句 1.1 文件的读取 如果需要读取一行数据如下表1所示,那么需要读取域名下面的数据,便使用如下代码: with open('A.csv','rb') as csvfile: reader ...
- docker 中的mysql启动端口号总是被占用解决
解决: 1 查 netstat -lnp|grep 3306 2 杀 kill -9 3819 3 再查 netstat -lnp|grep 3306 4 发现还有,杀不尽 5 重启docker 6 ...