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

news2024/9/24 7:17:44

🌺个人主页: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.coloradmin.cn/o/1228312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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

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

DevToys:开发者的多功能瑞士军刀,让编程更高效!

DevToys:开发者的多功能瑞士军刀,让编程更高效! DevToys 是一款专为开发者设计的实用工具,它能够帮助用户完成日常的开发任务,如格式化 JSON、比较文本和测试正则表达式(RegExp)。它的优势在于…

开源WIFI继电器之硬件电路

一、原理图 源文件 二、原理图说明 1、器件说明 U4:ESP8285模块 U6:触发器 U3:继电器 2、继电器状态检测说明 检测继电器线圈是否通电来判断继电器是否导通,当Q1不导通时,Q1集电极的电压为3.3V,经…

微机原理练习题_13

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。) 1、十六进制数5BF.C8转换成二进制数是() A. 11011100111111101B B. 010111011011.01101B C. 010110111111.11001B D. 010111011011.11001B 2,最适合…

nodejs+vue慢性胃炎健康管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于慢性胃炎健康管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了慢性胃炎健康管理系统, 系统首页、个…

【Android】使用Retrofit2发送异步网络请求的简单案例

添加网络权限到AndroidManifest.xml清单文件 为了让你的Android应用程序能够使用互联网进行通信&#xff0c;你需要在AndroidManifest.xml文件中添加网络权限声明。<uses-permission android:name"android.permission.INTERNET"/> 这个权限应该添加到 Android…

【LeetCode每日一题合集】2023.9.25-2023.10.1(⭐LFU缓存Java数据流花期内花的数量)

文章目录 460. LFU 缓存⭐&#xff08;数据结构题&#xff09;解法1——平衡树 哈希表&#xff08;TreeSet HashMap&#xff09; O ( l o g n ) O(logn) O(logn)解法2——双哈希表 双向链表 O ( 1 ) O(1) O(1) &#xff08;LRU缓存的升级版&#xff09; 2582. 递枕头解法—…

【WSL/WSL2-Ubuntu】突破界限:不使用服务器在一台Windows搭建Nginx+FastDFS

打造超级开发环境&#xff1a;Nginx和FastDFS在WSL中的完美结合 前言 随着软件开发领域的快速发展&#xff0c;跨平台的开发环境变得日益重要。Windows Subsystem for Linux&#xff08;WSL&#xff09;和WSL 2为开发者提供了在Windows操作系统上体验Linux环境的便捷途径。本…

代码随想录算法训练营第二十八天| 78 子集 90 子集|| 93 复原IP地址

78 子集 由题意可知数组中的元素互不相同&#xff0c;所以在dfs中我们可以将当前的path直接加入到res中。 class Solution {List<List<Integer>>res new ArrayList<>();List<Integer>path new LinkedList<>();public List<List<Integer…

全新酷盒9.0源码:多功能工具箱软件的最新iapp解决方案

全能工具箱软件酷盒&#xff1a;源码提供iapp解决方案&#xff0c;自定义打造个性化体验 酷盒是一款功能丰富的工具箱软件&#xff0c;内置众多实用功能&#xff0c;并实时更新热门功能。该软件还拥有丰富的资源库&#xff0c;用户可以在线畅玩游戏、免费下载音乐等。 我们提…

装饰模式 rust和java的实现

装饰器模式 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。 装饰器模式通过将对象包装在装饰器类中&#xff0c;以便动态地修改其行为。 这种模式创建了一个装饰类&#xff0c;用来包装原有的类&am…

【Flink】系统架构

DataStream API 将你的应用构建为一个 job graph&#xff0c;并附加到 StreamExecutionEnvironment 。当调用 env.execute() 时此 graph 就被打包并发送到 JobManager 上&#xff0c;后者对作业并行处理并将其子任务分发给 Task Manager 来执行。每个作业的并行子任务将在 task…

6 Redis的慢查询配置原理

1、redis的命令执行流程 redis的慢查询只针对步骤3 默认情况下&#xff0c;慢查询的阈值是10ms

[python]python筛选excel表格信息并保存到另一个excel

目录 关键词平台说明背景所需库1.安装相关库2.代码实现sourcetarget1 关键词 python、excel、DBC、openpyxl 平台说明 项目Valuepython版本3.6 背景 从一个excel表中遍历删选信息并保存到另一个excel表 所需库 1.openpyxl &#xff1a;是一个用于读写 Excel 文件的 Pyt…

Flutter 中数据存储的四种方式

在 Flutter 中&#xff0c;存储是指用于本地和远程存储和管理数据的机制。以下是 Flutter 中不同存储选项的概述和示例。 Shared Preferences&#xff08;本地键值存储&#xff09; Shared Preferences 是一种在本地存储少量数据&#xff08;例如用户首选项或设置&#xff09…

【面试经典150 | 算术平方根】

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;数学表达式方法二&#xff1a;二分法 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并…

测试Bard和ChatGPT关于双休的法规和推理

Bard是试验品&#xff0c;chatgpt是3.5版的。 首先带着问题&#xff0c;借助网络搜索&#xff0c;从政府官方网站等权威网站进行确认&#xff0c;已知正确答案的情况下&#xff0c;再来印证两个大语言模型的优劣。 想要了解的问题是&#xff0c;在中国&#xff0c;跟法定工作…

全新云开发工具箱:融合多项功能的微信小程序源码解决方案

全新云开发工具箱&#xff1a;融合多项功能的微信小程序源码解决方案 这款微信小程序源码提供了超过40个功能&#xff0c;集合了各种实用工具&#xff0c;成为一款全能工具箱。这些功能包括证件照制作、垃圾分类查询、个性签名制作、二维码生成、文字九宫格、手持弹幕、照片压…

初识Java 18-1 泛型

目录 简单泛型 元组库 通过泛型实现栈类 泛型接口 泛型方法 可变参数和泛型方法 通用Supplier 简化元组的使用 使用Set创建实用工具 本笔记参考自&#xff1a; 《On Java 中文版》 继承的层次结构有时会带来过多的限制&#xff0c;例如&#xff1a;编写的方法或类往往…

记一次服务器配置文件获取OSS

一、漏洞原因 由于网站登录口未做双因子校验,导致可以通过暴力破解获取管理员账号,成功进入系统;未对上传的格式和内容进行校验,可以任意文件上传获取服务器权限;由于服务器上配置信息,可以进一步获取数据库权限和OSS管理权限。二、漏洞成果 弱口令获取网站的管理员权限通…