【学习笔记】网络编程之URL

网络编程之URL

 

URL

 

  • URL 是 统一资源定位符,用来定位互联网上的某一个资源,比如 www.baidu.com

  • DNS 是域名解析,把域名解析成IP地址

 

格式:

协议://IP地址:端口/项目名/资源

 

URL 类中的方法

package com.network.url;
​
import java.net.MalformedURLException;
import java.net.URL;
​
public class URLDemo01 {
    public static void main(String[] args) throws MalformedURLException {
        URL url = new URL("http://localhost:8080/helloworld/index.jsp?username=zhangsan");
​
        System.out.println(url.getProtocol());   //协议
        System.out.println(url.getHost());     //主机ip
        System.out.println(url.getPort());    //端口
        System.out.println(url.getPath());    //文件
        System.out.println(url.getFile());    //全路径
        System.out.println(url.getQuery());    //参数
    }
}

image-20220730163122218

 

 

通过URL下载网络资源

 

package com.network.url;
​
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
​
public class URLDemo02 {
    public static void main(String[] args) throws Exception {
        //1.下载地址
        URL url = new URL("https://m801.music.126.net/20220730170101/972d74fc0cfac98baa9584ab1d7cdb7d/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/14096427565/7854/7b14/6110/6a83aac06435d939143701eebe126ed9.m4a");
​
        //2.连接到这个资源
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
​
        //3.下载
        InputStream is = urlConnection.getInputStream();
        FileOutputStream fos = new FileOutputStream("f:\\test\\gu.m4a");
​
        byte[] buffer = new byte[1024];
        int count;
        while ((count = is.read(buffer)) != -1){
            fos.write(buffer);
        }
​
        //关闭
        fos.close();
        is.close();
        urlConnection.disconnect();
​
    }
}

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...