【Java】网络编程基础—InetAddress类和URL编程

🌺个人主页:Dawn黎明开始

🎀系列专栏:Java
每日一句:为了那个远方,你要奋不顾身

📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️


文章目录

一.🔐 InetAddress类

✍目标

(1).🔑常用方法

(2).🔑案例演示

二. 🔐URL编程

✍目标

(1).🔑URL的基本结构

(2).🔑URL类的常用方法

(3).🔑案例演示


一.🔐 InetAddress类

✍目标

熟悉InetAddress类,能够使用InetAddress类的常用方法获取IP地址。

(1).🔑常用方法

Java提供了一个与IP地址相关的InetAddress类,用于封装一个IP地址,并提供了一系列与IP地址相关的方法。

(2).🔑案例演示

下面通过一个案例演示InetAddress类常用方法的使用。

package example;import java.net.InetAddress;public class Example01 {public static void main(String[] args) throws Exception {InetAddress localAddress = InetAddress.getLocalHost();InetAddress remoteAddress = InetAddress.getByName("www.itcast.cn");System.out.println("本机的IP地址:" + localAddress.getHostAddress());System.out.println("www.itcast.cn的IP地址:" + remoteAddress.getHostAddress());System.out.println("3秒是否可达主机名为www.itcast.cn的IP地址:" + remoteAddress.isReachable(3000));}
}

运行代码,控制台显示的运行结果如下图所示。

二. 🔐URL编程

✍目标

了解URL编程,能够正确使用URL类的常用方法访问指定URL的资源。

URL(Uniform Resource Locator)是统一资源定位器,它表示互联网上某一资源的地址。互联网上的资源包括HTML文件、图像文件、音频文件、视频文件等,只要按照URL规则定义某个资源,网络上的程序就可以通过URL访问它。也就是说,通过URL访问Internet时,浏览器或其他程序通过解析给定的URL就可以在网络上查找到相应的文件或资源。实际上,用户上网时在浏览器地址栏中输入的网址就是一个URL。

(1).🔑URL的基本结构

URL的基本结构由5部分组成,具体格式如下。

传输协议://主机名端口号/文件名#引用

URL基本格式中每个部分的含义如下所示。

(1)传输协议:指所使用的协议名,如HTTP、FTP等。

(2)主机名:指资源所在的计算机名称。主机名可以是IP地址,也可以是计算机的名称或域。

(3)端口号:指定服务占用的端口号。

(4)文件名:指访问的文件名称,包括该文件的完整路径。在HTTP中,有一个默认的文件名index.html,因此下列两个地址是等价的。

http://java.sun.com

http://java.sun.com/index.html

(5)引用:指资源内部的某个参考点,如http://java.sun.com/index.html#page1。  

注意:对于一个URL,并不要求必须包含所有的5个部分。 

(2).🔑URL类的常用方法

Java中定义了一个URL类,用于访问网络上的资源,URL类中定义了一些常用方法,利用这些方法可以得到URL位置本身的数据,或是将URL对象转换成表示URL位置的字符串

(3).🔑案例演示

下面通过一个案例学习URL类中常用方法的使用。具体代码如下所示。

package example;import java.io.InputStream;
import java.net.URL;
import java.util.Scanner;public class Example02 {public static void main(String[] args) throws Exception {URL url = new URL("http", "baidu.com", 80, "/subject/uidszly/index.html");InputStream input = url.openStream();Scanner scan = new Scanner(input);scan.useDelimiter("\n");while (scan.hasNext()) {System.out.println(scan.next());}}
}

运行代码,控制台显示的运行结果如下图所示。


🌺如果大家有不明白的地方,或者文章部分内容有问题,欢迎大家在评论区讨论,指正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/195779.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python编程技巧 – 使用字符串(Strings)

Python编程技巧 – 使用字符串(Strings) Python Programming Essentials – Using Strings 本文简要介绍如何使用字符串,来进行Python编程。字符串有很多用途,包括输出结果、反馈状态、数据处理以及切片和文本筛选等 1. 字符串 字符串(St…

Java21新增特性

版本介绍 Java 21是Java平台的一个新版本,于2023年9月19日由Oracle公司正式发布。这个版本包含了数千个性能、稳定性和安全性更新,以及几十个新功能和增强。其中,15个增强被赋予了自己的JDK增强提案(JEP),…

基于SSM的北海旅游网站设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

CICD 持续集成与持续交付——jenkins

部署 软件下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ [rootcicd2 ~]# rpm -ivh jdk-11.0.15_linux-x64_bin.rpm[rootcicd2 ~]# yum install -y fontconfig[rootcicd2 ~]# rpm -ivh jenkins-2.432-1.1.noarch.rpm启动服务 [rootcicd2 ~]# systemctl…

python线程和进程

文章目录 版权声明多任务并发概念并行概念 进程多线程的作用进程的创建步骤通过进程类创建进程对象进程执行带有参数的任务获取进程杀死进程进程间不共享全局变量主进程和子进程的结束顺序设置守护进程销毁子进程 线程线程的创建步骤通过线程类创建线程对象线程执行带有参数的任…

T10 数据增强

文章目录 一、准备环境和数据1.环境2. 数据 二、数据增强(增加数据集中样本的多样性)三、将增强后的数据添加到模型中四、开始训练五、自定义增强函数六、一些增强函数 🍨 本文为🔗365天深度学习训练营 中的学习记录博客&#x1f…

数据结构【DS】队列

队列:只允许在表尾(队尾)进行插入,而在表头(队头)进行删除的线性表。 循环队列 初始(队空)时: 𝑸.𝒇𝒓𝒐𝒏𝒕𝑸.𝒓𝒆𝒂&am…

H110主板搭配魔改QNCW升级小记

最近搬家完毕,翻出来一块闲置已久的qncw,隐约记得是买的主板套装,现在主板早已不知踪影,剩下孤零零一个CPU,一起翻出来一个G3900T亮机CPU,应该是同时代的产物。 qncw百度上一搜,发现参数还行&am…

Linux——编译器gcc/g++、调试器gdb以及自动化构建工具makefilemake详解

编译器—gcc/g、调试器—gdb以及自动化构建工具—makefile&&make 文章目录 编译器—gcc/g、调试器—gdb以及自动化构建工具—makefile&&make1. 编译器——gcc/g1.1 生成可执行文件与修改默认可执行文件1.2 程序的翻译过程以及对应的gcc选项1.2.1 预处理 gcc -E…

AD教程 (十九)PCB板框的评估和层叠设置

AD教程 (十九)PCB板框的评估和层叠设置 板子越小,层数越少,成本越低 PCB板框评估 器件摆放 CtrlA 选中全部器件点击工具,选择器件摆放,选择在矩形区域排列 框定矩形区域,器件就会摆放在框定的矩…

【Flink】窗口(Window)

窗口理解 窗口(Window)是处理无界流的关键所在。窗口可以将数据流装入大小有限的“桶”中,再对每个“桶”加以处理。 本文的重心将放在 Flink 如何进行窗口操作以及开发者如何尽可能地利用 Flink 所提供的功能。 对窗口的正确理解&#xff…

LRU最近最少使用算法

LRU(LeastRecentlyUsed)“最近最少使用”算法: 1.当缓存空间已满耗用时,淘汰最近最少使用数据的缓存对象以释放更多的缓存空间(用于历史缓存对象的维护)。 2. 哈希表:快速查找缓存对象;双向链表:维护 历史数据所在的节点顺序。 步骤&#xff…