首页 > 解决方案 > CherryPy - 重定向到可播放的视频

问题描述

我试图让我的“api”返回一个给定 ID 的视频的直接下载链接,当您手动输入 URL 时,下载已正确启动,但如果您将其放在 <video> 标签中,则视频会没有播放,因为它没有被重定向......

下载 URL 是:34.69.63.251:8080/?download=videoTest,这会将您重定向到我仅用于测试目的的 .7Mb 视频。

执行此操作的代码是:

    if link == ("videoTest"):
        wlink = str("https://onedrive.live.com/download?cid=XXXXXXXXXXXXXXXXXXXXXXXXXX&authkey=XXXXXXXXXXXXXXXXXXXXXXXXX")
    r = requests.get(wlink, allow_redirects=False)
    r.status_code
    r.headers['Location']
    finalurl = r.headers['Location']
    raise cherrypy.HTTPRedirect(finalurl,302)

我希望能够为 <video> 标签提供“34.69.63.251:8080/?download=videoTest”链接,并播放重定向的链接,这可能吗?

“r”变量是我的请求,该程序向 onedrive 链接 (wlink) 发出请求,并允许重定向。作为响应,您会获得所需文件的直接下载链接,直接下载链接可用作可播放视频,但 HTML 标签尝试使用“34.69.63.251:8080/?download=videoTest”链接作为可播放视频,尽管被重定向

不起作用的 html 标记是:

<video width="400" controls>
  <source src="34.69.63.251:8080/?download=videoTest" type="video/mp4">
  Your browser does not support HTML video.
</video>

api返回的工作(但暂时的,将很快停止工作)链接的示例:

https://hzde2w.bl.files.1drv.com/y4mNrljAhc6bM0XNJZM59WsRoW4Amx0yr07hhDmFJ3bYdgyhT4rM8ou2uLaVvgu7yBP9BzS1rGGq69cgTYvAql7tLR9Sp-JSbd7beH6eSFB1o-3AnDWoBqrfi0ST60GRH64nFwaVHoAWV6yyYKPOqJ2EiGfQf8Kgt1Ay7kBJLOg3Pws6d2k19Yv3CEShxuaC7QxCQJG5JQWV2zgu7oB0xaBgA/Bunny.mp4?download&psid=1

谢谢!

标签: htmlcherrypy

解决方案


推荐阅读