b站链接解析工具

获取b站视频详细数据,返回全部数据,视频画质最高支持4K/1080P+ 高码率

API接口稳定可用 · 支持高并发请求
总调用次数: 加载中...

API接口信息

接口地址

https://www.yutangxiaowu.cn:3008/api/combinedVideo

请求方法

GET

请求参数

参数名 类型 是否必填 说明
bvid string 必填 b站视频BV号(与url二选一)
url string 必填 b站视频URL(与bvid二选一)

响应格式

JSON

响应参数

参数名 类型 说明
基础响应参数 - API通用响应参数
code integer 状态码,0表示成功,非0表示失败
message string 状态信息描述
ttl integer 数据缓存时间,单位秒
data object 响应数据主体
视频基本信息 - 视频的基本元数据信息
分P信息 - 视频分P的详细信息
权限信息 - 视频的权限设置信息
尺寸信息 - 视频的宽高尺寸信息
UP主信息 - 视频作者相关信息
视频数据 - 视频数据统计信息
视频流信息 - 视频播放地址及格式信息
DASH流信息 - 分离的音视频流信息
音视频流详情 - 视频/音频流的详细信息
FLV流分段信息 - FLV格式视频的分段信息

代码示例

JavaScript (Axios)
const axios = require('axios');
const url = 'https://www.yutangxiaowu.cn:3008/api/combinedVideo';

axios.get(url, {
    params: {
        bvid: 'BV1guCHYbEHG' 
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error('请求失败:', error.message);
});
JavaScript (Fetch)
const apiUrl = 'https://www.yutangxiaowu.cn:3008/api/combinedVideo';
const bvid = 'BV1guCHYbEHG';

fetch(`${apiUrl}?bvid=${encodeURIComponent(bvid)}`)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('请求失败:', error));
Python
import requests

api_url = 'https://www.yutangxiaowu.cn:3008/api/combinedVideo'
params = {
    'bvid': 'BV1guCHYbEHG'
}

response = requests.get(api_url, params=params)
print(response.json())
PHP
$apiUrl = 'https://www.yutangxiaowu.cn:3008/api/combinedVideo';
$bvid = 'BV1guCHYbEHG';

$url = $apiUrl . '?bvid=' . urlencode($bvid);
$response = file_get_contents($url);
$data = json_decode($response, true);

print_r($data);
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

public class DouyinApi {
    public static void main(String[] args) throws Exception {
        String apiUrl = "https://www.yutangxiaowu.cn:3008/api/combinedVideo";
        String bvid = "BV1guCHYbEHG";
        
        String encodedUrl = URLEncoder.encode(bvid, StandardCharsets.UTF_8);
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(apiUrl + "?bvid=" + encodedUrl))
            .build();
            
        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
            .thenApply(HttpResponse::body)
            .thenAccept(System.out::println)
            .join();
    }
}
C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        string apiUrl = "https://www.yutangxiaowu.cn:3008/api/combinedVideo";
        string bvid = "BV1guCHYbEHG";
        
        using var client = new HttpClient();
        string encodedUrl = Uri.EscapeDataString(bvid);
        string response = await client.GetStringAsync(
            $"{apiUrl}?bvid={encodedUrl}"
        );
        
        Console.WriteLine(response);
    }
}
Ruby
require 'net/http'
require 'uri'
require 'json'

api_url = 'https://www.yutangxiaowu.cn:3008/api/combinedVideo'
bvid = 'BV1guCHYbEHG'

uri = URI.parse(api_url)
params = { bvid: bvid }
uri.query = URI.encode_www_form(params)

response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)

puts data
Go
package main

import (
    "fmt"
    "net/http"
    "net/url"
    "io/ioutil"
)

func main() {
    apiUrl := "https://www.yutangxiaowu.cn:3008/api/combinedVideo"
    bvid := "BV1guCHYbEHG"
    
    params := url.Values{}
    params.Add("bvid", bvid)
    
    resp, err := http.Get(apiUrl + "?" + params.Encode())
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
Swift
import Foundation

let apiUrl = "https://www.yutangxiaowu.cn:3008/api/combinedVideo"
let bvid = "BV1guCHYbEHG"

if let encodedUrl = bvid.addingPercentEncoding(
    withAllowedCharacters: .urlQueryAllowed
) {
    let urlString = "\(apiUrl)?bvid=\(encodedUrl)"
    if let url = URL(string: urlString) {
        let task = URLSession.shared.dataTask(with: url) {
            data, response, error in
            if let data = data {
                print(String(data: data, encoding: .utf8)!)
            }
        }
        task.resume()
    }
}
Kotlin
import java.net.URLEncoder
import java.net.URL

fun main() {
    val apiUrl = "https://www.yutangxiaowu.cn:3008/api/combinedVideo"
    val bvid = "BV1guCHYbEHG"
    
    val encodedUrl = URLEncoder.encode(bvid, "UTF-8")
    val url = URL("$apiUrl?bvid=$encodedUrl")
    
    val response = url.readText()
    println(response)
}

在线测试工具