【问题标题】:403 Forbidden when downloading an FLV directly from YouTube直接从 YouTube 下载 FLV 时出现 403 Forbidden
【发布时间】:2012-02-22 14:09:31
【问题描述】:

我目前正在编写一个 Java 应用程序,它将下载任何视频并将其转换为 MP3(我知道那里有很多类似的东西,这只是一个学习经验。)

我目前正处于检索格式和 URL 列表的位置,它可以很好地下载 MP4 格式的视频(它唯一要做的就是直接下载流格式映射中给出的 URL .)

但是,每当我尝试下载 FLV 视频时,youtube 都会给我一个 403 禁止错误(这是一个相当大的问题,因为很多视频只能以 FLV 格式提供。) 使用 chrome 开发者工具快速检查后发现有一个名为 ACTIVITY 的 cookie 在开始实际视频下载时被发送到服务器,该值与从原始调用 /watch 收到的时间戳非常相似,只有 3数字更准确(所以那将是毫秒)。我不确定这是否是问题所在;可能是 generate_204,这个请求在 chrome 开发者工具中也引起了我的注意。

请不要将我指向复杂的不可读的 Python/etc。例子。我非常不喜欢 Python,而且我还不能流利地阅读别人的代码(尤其是如果它又大又复杂的话;)。谢谢。

tl;dr - 还有什么能让 youtube 向我发送我的 FLV 而不是抛出 403 禁止?和饼干有关系吗?生成_204?等等。

【问题讨论】:

  • 第 4c 节您同意不通过服务本身的视频播放页面、可嵌入播放器或 YouTube 可能指定的其他明确授权方式以外的任何技术或方式访问内容。
  • 好的,我明白了,这是非法的。正如我所说,这只是一次学习经历。并不是说没有大量的工具可以下载和转换 YouTube 视频。
  • StackOverflow 仍然不适合它。

标签: java download youtube


【解决方案1】:

您应该将“签名”参数添加到您的视频播放网址。签名作为 sig 参数包含在 fmt url 中。只需在页面源代码中查找 sig 属性,并使用 Fiddler 在最终 url 中查找签名。

【讨论】:

    【解决方案2】:

    这违反了 YouTube 的服务条款,我相信 section 5B...而且我怀疑这是非法的。

    【讨论】:

    • 确实,但 5B 专门讨论了下载。
    • 是的,但是指出所有此类活动会违反的地方永远不会有什么坏处;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 2017-06-16
    相关资源
    最近更新 更多