网易云的MV下载

最近想把自己喜欢的MV放在个人站点上面,但是Mac客户端和网页版的网易云连个下载按钮都没有!好吧, 是时候自己动手…丰衣足食了,网页上能播放出来的肯定是能拿到的,最神奇最稳定的办法当然是开启录屏软件啦。但是本次为了播放效果,能不用最低端的方式就尽量不用啦!

很久没写过IO方面的东西了,现在拿网易云这个例子来练练手!

我们要拿到的无非就是HTTP的请求链接和请求头信息:

 1public static void main(String[] args) throws Exception{
 2        //请输入视频地址
 3        String url = "https://vodkgeyttp8.vod.126.net/.....&wsTime=1556853453";
 4        
 5        File file = new File("/Users/tim/Desktop/a"+".mp4");
 6        //创建文件
 7        if(!file.createNewFile()) throw new RuntimeException("文件创建失败");
 8        
 9        HttpURLConnection con;
10        FileOutputStream fs = null;
11        InputStream is;
12        BufferedInputStream bs = null;
13        
14        try {
15            con = (HttpURLConnection) new URL(url).openConnection();
16            con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36");
17
18            //输入流
19            is = con.getInputStream();
20            bs = new BufferedInputStream(is);
21            fs = new FileOutputStream(file);
22            byte[] bytes = new byte[1024 * 10];
23
24            int line ;
25            while((line = bs.read(bytes))!= -1){
26                fs.write(bytes, 0, line);
27                fs.flush();
28            }
29
30        } catch (Exception e) {
31            e.printStackTrace();
32        } finally{
33            if(fs!= null){
34                try {
35                    fs.close();
36                } catch (IOException e) {
37                    e.printStackTrace();
38                }
39            }
40            if(bs!=null){
41                try {
42                    bs.close();
43                } catch (IOException e) {
44                    e.printStackTrace();
45                }
46            }
47        }
48    }

好了,首页的MV就是这样完成了下载,所以想要下载MV就是这么简单!