Closed DerilJust closed 1 year ago
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Bilibili 音频播放器</title>
</head>
<body>
<h1>Bilibili 音频播放器</h1>
<label for="video_id">请输入视频 ID(AV 号):</label>
<input type="text" id="video_id">
<button id="get_audio">获取音频</button>
<audio id="audio_player" controls></audio>
<script>
async function getBilibiliAudioUrl(video_id) {
const response = await fetch(`/api/bilibili_audio_url?video_id=${video_id}&fnval=16&qn=0`,
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36',
// "Referer": `https://www.bilibili.com/video/av${video_id}`,
"Referer": `https://www.bilibili.com/video/av${video_id}`
});
if (response.status === 200) {
const json_data = await response.json();
// 打印收到的 JSON 数据
console.log(json_data);
// const dash_audio = json_data.data?.dash?.audio ?? [];
const aurl=json_data.data.dash.audio[0].baseUrl
console.log(aurl);
return aurl;
}
return null;
}
document.getElementById("get_audio").addEventListener("click", async () => {
const video_id = document.getElementById("video_id").value;
const audio_url = await getBilibiliAudioUrl(video_id);
if (audio_url) {
document.getElementById("audio_player").src = audio_url;
} else {
alert("未找到音频 URL");
}
});
</script>
</body>
</html>
:authority: xy218x104x225x18xy.mcdn.bilivideo.cn:4483
:method: GET
:path: /upgcxcode/83/87/872348783/872348783-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1680405071&gen=playurlv2&os=mcdn&oi=2018648264&trid=00006d83cdd569894c679c170e5240df3dcdu&mid=0&platform=pc&upsig=2419d23564d269ab3f575e0c2e3d4fb6&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&mcdnid=11000148&bvc=vod&nettype=0&orderid=0,3&buvid=&build=0&agrr=0&bw=40339&logo=A0000400
:scheme: https
accept: */*
accept-encoding: identity;q=1, *;q=0
accept-language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
range: bytes=0-
referer: http://localhost:3000/
sec-ch-ua: "Microsoft Edge";v="111", "Not(A:Brand";v="8", "Chromium";v="111"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-dest: audio
sec-fetch-mode: no-cors
sec-fetch-site: cross-site
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62
代理服务器里也设置了referer和ua,仍然是403
用cloudflare worker成功了 另外想问有阿里云部署的方案吗
GET https://xy218x104x225x18xy.mcdn.bilivideo.cn:4483/upgcxcode/83/87/872348783/872348783-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1680085429&gen=playurlv2&os=mcdn&oi=2018648173&trid=000034b6a02a6bd64aae8545397eb1b0ac5fu&mid=0&platform=pc&upsig=217e91f7bc5ae166c6e3ffad1cbc36f1&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&mcdnid=11000148&bvc=vod&nettype=0&orderid=0,3&buvid=&build=0&agrr=1&bw=40339&logo=A0000400 403