有些视频无法下载。
我通过使用此下载网址
http://www.youtube.com/get_video_info?video_id=itGNQbJwRSk
有没有人为什么下面的URL无法下载?
总网址:
http://r1---sn-a5m7lnek.googlevideo.com/videoplayback?expire=1391267516&ms=au&source=youtube&sver=3&upn=OzZzFV_-2o4&id=8ad18d41b2704529&itag=22&mt=1391243224&ipbits=0&ratebypass=yes&fexp=935622%2C914924%2C926515%2C916623%2C936910%2C936913&sparams=gcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&mv=m&ip=183.101.166.55&key=yt5&gcr=kr&signature=F303D0C863C27A6A46124A09E40F308BB67181E013.3FA3E17460DDF6ECA004D9E48B1356849534EBFFFF
每个参数分隔的url:
http://r1---sn-a5m7lnek.googlevideo.com/videoplayback?
expire=1391267516&
ms=au&
source=youtube&
sver=3&
upn=OzZzFV_-2o4&
id=8ad18d41b2704529&
itag=22&
mt=1391243224&
ipbits=0&
ratebypass=yes&
fexp=935622%2C914924%2C926515%2C916623%2C936910%2C936913&
sparams=gcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
mv=m&
ip=183.101.166.55&
key=yt5&
gcr=kr&
signature=F303D0C863C27A6A46124A09E40F308BB67181E013.3FA3E17460DDF6ECA004D9E48B1356849534EBFFFF
我在开放流中使用了以下代码
u = new URL(url);
HttpURLConnection huc = (HttpURLConnection)u.openConnection();//to know the size of video
huc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36");
huc.setRequestProperty("Accept","*/*");
huc.setRequestMethod("GET");
huc.setDoOutput(false);
int size = huc.getContentLength();
int status = huc.getResponseCode();
Log.e("download", status+ huc.getResponseMessage());
is = new BufferedInputStream(huc.getInputStream());
但返回状态= 403,大小= -1。我找不到任何帮助。
有谁有主意吗?
此视频是使用密码signatrue,你可以在返回的信息看http://www.youtube.com/get_video_info?video_id=itGNQbJwRSk有
'use_cipher_signature=True'
要下载这种类型的视频,首先您必须对其签名进行解码。播放器文件(HTML5player或Flash播放器)中存在解码算法
解码后,您必须使用相同的IP地址从获取所有信息的位置下载视频。(您可以使用代理绕过相同的IP限制)
最好使用抓取该特定视频的网页并搜索;ytplayer.config = {(.*?)};
。这包含所有必需的信息。
如果您不想抓取,则可以使用以下方法获取JSON对象
https://www.youtube.com/watch?v=<Video-ID>&spf=prefetch
请检查此API以获取简单的解决方案:CipherAPI
另一个很酷的API:YTstream API
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句