SocialSisterYi / bilibili-API-collect

哔哩哔哩-API收集整理【不断更新中....】
https://socialsisteryi.github.io/bilibili-API-collect/
Other
14.98k stars 1.7k forks source link

403错误 #645

Closed DerilJust closed 1 year ago

DerilJust commented 1 year ago

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

DerilJust commented 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>
DerilJust commented 1 year ago
: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
DerilJust commented 1 year ago

代理服务器里也设置了referer和ua,仍然是403

DerilJust commented 1 year ago

用cloudflare worker成功了 另外想问有阿里云部署的方案吗