URL下载
URL下载
java里面什么东西都是流,文件流、输入流、输出流
URL (Uniform Resource Locator) 统一资源定位符 定位网络资源
DNS 域名解析:将域名解析为ip
格式
协议://ip地址:port/项目名/文件
URL类
package com.example.network;
import java.net.MalformedURLException;
import java.net.URL;
public class TestUrl {
public static void main(String[] args) throws MalformedURLException {
// URL url = new URL("http://localhost:8080/test/test.txt?user=ohmydream&&password=123");
URL url = new URL("https://www.baidu.com");
System.out.println(url.getAuthority());// ip+端口
System.out.println(url.getProtocol()); // 协议:http
System.out.println(url.getHost()); // ip
System.out.println(url.getPort()); // 端口
System.out.println(url.getFile()); // 文件
System.out.println(url.getPath()); // 路径
System.out.println(url.getQuery()); // 参数
}
}
网络资源下载
package com.example.network;
import javax.net.ssl.HttpsURLConnection;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public class TestUrlDownload {
public static void main(String[] args) throws IOException {
URL url = new URL("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic167.nipic.com%2Ffile%2F20180604%2F25840778_184754781087_2.jpg&refer=http%3A%2F%2Fpic167.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639969528&t=6e8d3b72a717c5d2b36645904a612bf7");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
InputStream ios = connection.getInputStream();
FileOutputStream fos = new FileOutputStream("baby.jpg");
byte[] buffer = new byte[1024];
int len;
while ((len = ios.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fos.close();
ios.close();
connection.disconnect();
}
}