狂神教学:URL下载网络资源
也属于《网络编程大模块》
文章目录
URL
- 统一资源定位符(Uniform Resource Locator,缩写:URL)是因特网上标准的资源的地址, 能定位到全球唯一的台电脑上的唯一的软件运行的某个文件。
- 统一资源定位符的标准格式:
[协议类型]://[服务器地址]:[端口号]/[资源层级Unix文件路径][文件名]?请求数据#id
- DNS域名解析:把域名【www.baidu.com】转换为IPV4/IPV6地址。
- 通过使用Java的
URL类
就可以经由URL完成读取和修改数据的操作。
以我的博客主页做个测试
package nett;
import java.net.URL;
public class URLText {
public static void main(String[] args) throws Exception {
URL url = new URL("https://blog.csdn.net/weixin_43931465?spm=1000.2115.3001.5343");
System.out.println("URL 为:" + url.toString());
System.out.println("协议为:" + url.getProtocol());
System.out.println("验证信息:" + url.getAuthority());
System.out.println("文件名及请求参数:" + url.getFile());
System.out.println("主机名:" + url.getHost());
System.out.println("路径:" + url.getPath());
System.out.println("端口:" + url.getPort());
System.out.println("默认端口:" + url.getDefaultPort());
System.out.println("请求参数:" + url.getQuery());
System.out.println("定位位置:" + url.getRef());
}
}
使用URL下载网络资源(音乐)
先让我们友好的取一个地址:【我使用的Microsoft Edge浏览器】
双击打开后(其实可以直接下载了)复制地址:
尝试下载音乐(.m4a):
package nett;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class URLDown {
public static void main(String[] args) throws Exception {
//《起风了》
URL url = new URL("https://m801.music.126.net/20211028200453/4cf993b40049609b684d8859d28bfd71/jdyyaac/565b/065f/0358/a1cd0e25a815dffcc0c1422398efde9e.m4a");
//连接
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
InputStream is = urlConnection.getInputStream();//输入流
FileOutputStream fos = new FileOutputStream("e.m4a");//输出流
//复制
byte[] buffer = new byte[1024];
int len = -1;
while((len=is.read(buffer))!=-1){
fos.write(buffer, 0, len);
}
System.out.println("下载完成!");
fos.close();
is.close();
urlConnection.disconnect();//断开连接
}
}
下载成功:
让我们来听一下:
打开方式随便选个播放器:
(๑•̀ㅂ•́)و✧