答案 0 :(得分:13)
更新:此答案现在可能已过时,请参阅下面的评论。最终无论如何都会发生这种情况,因为YouTube逐步淘汰FLV并转向HTML5视频......
他们只需解析指向实际FLV文件的链接,然后下载。
这是通过从URL复制视频标识符来完成的:
http://www.youtube.com/watch?v=WEeqHj3Nj2c
用于请求有关视频的信息:
http://www.youtube.com/get_video_info?&video_id=WEeqHj3Nj2c
视频信息包含TOKEN
,您可以使用它来发出另一个请求:
http://www.youtube.com/get_video?video_id=WEeqHj3Nj2c&t=TOKEN
如果一切顺利,YouTube会以HTTP 303 See Other
回复,包括Location
标题,其中包含指向FLV
文件的直接链接。
答案 1 :(得分:0)
查看扩展代码,您可以通过正则表达式解析各种内容类型的HTTP响应来查看它。代码位于network-probe.js中。
特别是它使用Firefox插件中的http-on-examine-response事件 - https://developer.mozilla.org/en-US/docs/Observer_Notifications#HTTP_requests
答案 2 :(得分:0)
只需对YouTube进行反向工程,并按照this question
所述了解其工作原理