请帮我用PHP写一个输入B站视频bv号获取视频下载直链的接口
这里是一个简单的 PHP 接口,可以通过输入 B 站视频 BV 号获取视频下载直链:
<?php
$bvid = isset($_GET['bvid']) ? $_GET['bvid'] : '';
if (!empty($bvid)) {
$api_url = 'https://api.bilibili.com/x/web-interface/view?bvid=' . $bvid;
$json = file_get_contents($api_url);
$data = json_decode($json, true);
if ($data['code'] == 0) {
$cid = $data['data']['cid'];
$title = $data['data']['title'];
$pages = $data['data']['pages'][0];
$part = $pages['part'];
$durl = $pages['durl'][0]['url'];
$size = $pages['durl'][0]['size'];
$mime = $pages['durl'][0]['mime'];
$filename = $title . ' - ' . $part . '.' . pathinfo($durl, PATHINFO_EXTENSION);
$headers = get_headers($durl, 1);
header('Content-Type: ' . $mime);
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Content-Length: ' . $size);
readfile($durl);
exit();
}
}
echo 'Please provide a valid BV number.';
使用方法:
- 将以上代码保存为
download.php文件; - 在浏览器地址栏中输入
http://yourdomain.com/download.php?bvid=[BV号],其中yourdomain.com是你的域名,[BV号]是你要下载的 B 站视频的 BV 号; - 点击下载按钮即可下载视频,文件名默认为视频标题 + 分P标题
原文地址: https://www.cveoy.top/t/topic/eoeL 著作权归作者所有。请勿转载和采集!