现在如何通过 curl 或 wget 下载 WWDC 2010 视频?

Posted

技术标签:

【中文标题】现在如何通过 curl 或 wget 下载 WWDC 2010 视频?【英文标题】:how to download WWDC 2010 video now by curl or wget? 【发布时间】:2016-07-20 11:22:55 【问题描述】:

例如:https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2010__hd/session_122__accessibility_on_iphone_os.mov

当我进入时

curl https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2010__hd/session_122__accessibility_on_iphone_os.mov > ~/Desktop/122.mov

wget https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2010__hd/session_122__accessibility_on_iphone_os.mov > ~/Desktop/122.mov

都失败了,只下载一个 333KB 的文件。

【问题讨论】:

【参考方案1】:

您获得的 mov 文件只是一个参考文件,用于为您的网络连接选择更正文件。

如果你有mplayer,可以试试mplayer <url> -dumpstream -dumpfile <filename>

您也可以打开文件并找到正确的真实文件的文件名。

您也可以编写一些脚本来解析参考文件。 这是我在 perl 中编写的用于解析 mov ref 文件的函数:

sub parseMov

    $uri = $_[0];
    $result_uri = "";
    @arr_uris = ();

    my $content = get $uri;

    $content =~ "/[^[:print:]]//g";

    @arr_movs = split("rmdr", $content);

    foreach (@arr_movs)
       
       @arr_parts = split("url", $_);
       my $file = $arr_parts[-1];

       if (index($file, ".mov") != -1 || index($file, ".3gp") != -1 || index($file, ".m4v") != -1) 
       
           #remove first char
           $file = trim($file);
           $file = substr($file,4);
           push( @arr_uris, $file);
       
   

   #determine basePath
   my @pathComponents = split("/", $uri);
   $basePath = $uri;
   $basePath =~ s/$pathComponents[-1]//;

   my $biggestSize = 0;

   #get biggest file
   foreach (@arr_uris)
   
       $uri_item = "$basePath$_";

       my $size = getFilesize($uri_item);

       if ($size > $biggestSize)
       
          $finalURL = $uri_item;
          $biggestSize = $size;
       

   

   #remove %00 and %10 chars
   $finalURL =~ s/\x10//;
   $finalURL =~ s/\x00*//g;

   return $finalURL;

【讨论】:

非常感谢。我运行您在此处键入的脚本。出现错误消息“无法通过包定位对象方法“get””,有什么建议吗? 你需要安装LWP 在终端上试试下面cpan install LWP HTTP::Request

以上是关于现在如何通过 curl 或 wget 下载 WWDC 2010 视频?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 wget 或 curl 身份验证下载

有没有办法使用 curl 或 wget 从命令行下载彩信?

如何获取软件包的下载地址 wget curl

使用wget或curl下载网站进行存档

curl和wget的区别和用法介绍

从谷歌驱动器wget / curl大文件