• Java网络编程1


    今日所学:

    计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来的, 实现资源共享和数据传输的系统。网络编程就是编写程序使互联网的两个或多个设备(如计算机)之间 进行数据传输。Java语言对网络编程提供了良好的支持。通过其提供的接口我们可以很方便地进行网络 编程。

    IP地址相关操作

    InetAddress是Java对IP地址的封装。其下有两个子类Inet4Address和Inet6Address。这个类的实例经 常和UDP DatagramSockets和Socket,ServerSocket类一起使用 InetAddress 没有公开的构造方法,因此你必须通过一系列静态方法中的某一个来获取它的实例。

    1. //www.baidu.com实际上是主机名称
    2. //IPv4采用的是点分十进制的记法,所以难以记忆,
    3. //引入DNS可以将一个有含义的字符串和一个IP地址建立对应关系,当使用有含义的字符串时可以通过DNS转
    4. 换为IP地址
    5. //InetAddress对象中可以封装一个IP地址和一个主机名
    6. InetAddress ia = InetAddress.getByName("www.baidu.com"); //获取对应主机名称的IP地
    7. 址,会自动调用DNS服务
    8. System.out.println(ia);
    9. System.out.println();
    10. InetAddress[] arr=InetAddress.getAllByName("www.baidu.com"); //获取对应主机
    11. 名称的所有注册IP地址
    12. for(InetAddress tmp:arr)
    13. System.out.println(tmp);
    14. System.out.println();
    15. // new InetAddress() 没有提供可以直接使用的构造器,所以不能直接new创建对象
    16. ia=InetAddress.getLocalHost();//获取本地机的IP地址
    17. System.out.println(ia); //lover/172.30.1.101
    18. ia=InetAddress.getLoopbackAddress(); //获取回绕地址
    19. System.out.println(ia); //localhost/127.0.0.1
    20. System.out.println(ia.getClass()); //class java.net.Inet4Address
    21. System.out.println();
    22. //通过IP地址查询对应信息
    23. InetAddress ia1=InetAddress.getByName("14.215.177.39");
    24. System.out.println(ia1);
    25. //用于判断是否可以连接ia对象对应的主机,可以理解为尝试是否能够ping通
    26. System.out.println(ia1.isReachable(2000));

    URL访问网上资源

    URL对象代表统一资源定位器,是指向互联网资源的指针,资源可以是简单的文件或目录,也可以是对 复杂对象的引用,例如对数据库或搜索引擎的查询。用协议名、主机、端口和资源组成,即满足格式: protocol://host:port/resourceName,例如http://www.yan.com:80/index.php

    http协议的标准端口为80 https=http+SSL 加密数据传输的http,标准端口为443

    URL统一资源指针,可以指定一个具体的资源,例如一个html网页

    URI统一资源标识符,可以认为为了方便记忆,给URL起的别名

    构建URL对象 //

    创建一个URL对象,用于指代网络中的一个资源,如果网址不合法,则抛出MalformedURLException URL url = new URL("https://news.cctv.com/2022/09/12/ARTIZ8cD6tXepRSQ5cFIHyA5220912.shtml");

    最重要的方法:

    url.openConnection():URLConnection 可以获取输入、输出流

    url.openStream()

  • 相关阅读:
    【深入Scrapy实战】从登录到数据解析构建完整爬虫流程
    React 生命周期函数总结【CV】
    儿童商品证书CPC、CPSIA、ASTM都涵盖哪些产品?
    计算机操作系统重点概念整理-第五章 文件管理【期末复习|考研复习】
    NestJS代码片段解读(1)
    sklearn中的TfidfTransformer和gensim中的TfidfModel的区别
    联系与合作
    2024年测试程序员必看系列之自动化测试框架
    BigGait: Learning Gait Representation You Want by Large Vision Models阅读笔记
    Linux 的性能调优的思路
  • 原文地址:https://blog.csdn.net/weixin_42383952/article/details/126839922