java 开发中网络编程之IP、URL详解及实例代码
作者:lqh 发布时间:2023-08-06 10:26:29
标签:java,网络编程
java 网络编程
java.net
类 InetAddress 此类表示互联网协议 (IP) 地址。 会抛出异常 UnknownHostException
直接已知子类:
Inet4Address, Inet6Address
没有构造函数,但是可以通过静态方法获取对象后,在完成其它功能的使用。
例如:
static InetAddress getLocalHost() 返回本地主机。
static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。
static InetAddress[] getAllByName(String host) 在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
String getHostAddress() 返回 IP 地址字符串(以文本表现形式)。
String getHostName() 获取此 IP 地址的主机名
String getCanonicalHostName() 获取此 IP 地址的完全限定域名。即将主机名解析为IP地址
例子1:
import java.net.*;
class IPDemo
{
public static void main(String[] args) throws Exception
{
// InetAddress localhost = InetAddress.getLocalHost();
// System.out.println("localhost="+localhost); //返回本地主机(主机名和IP地址)
// String hostname = localhost.getHostName(); //返回本地主机中的主机名
// String hostIP = localhost.getHostAddress(); //返回本地主机中的IP地址
// System.out.println("hostname="+hostname+"\n"+"hostIP="+hostIP);
//InetAddress ia = InetAddress.getByName("www.baidu.com");
//System.out.println("name="+ia.getHostName());
//System.out.println("adress="+ia.getHostAddress());
InetAddress[] iad = InetAddress.getAllByName("www.baidu.com");//百度提供的不止一个主机
for(int i=0;i<iad.length;i++)
{
System.out.println("name="+iad[i].getHostName());
System.out.println("adress="+iad[i].getHostAddress());
}
}
}
import java.net.*;
String getFile() 获取此 URL 的文件名。
String getHost() 获取此 URL 的主机名(如果适用)。
String getPath() 获取此 URL 的路径部分。
int getPort() 获取此 URL 的端口号。
String getProtocol() 获取此 URL 的协议名称。
String getQuery() 获取此 URL 的查询部分。
例子2:URL使用
class URLDemo
{
public static void main(String[] args)throws Exception
{
URL url = new URL("http://192.168.1.105:8080/myweb/demo.html?name=haha&age=20");
System.out.println("getProtocol() :"+url.getProtocol());
System.out.println("getHost() :"+url.getHost());
System.out.println("getPort() :"+url.getPort());
System.out.println("getFile() :"+url.getFile());
System.out.println("getPath() :"+url.getPath());
System.out.println("getQuery() :"+url.getQuery());
}
}
例子3:URLConnection连接
import java.io.*;
import java.net.*;
class URLConnectionDemo
{
public static void main(String[] args)throws Exception
{
URL url = new URL("http://192.168.1.105:8080/myweb/demo.html");
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,len));
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


猜你喜欢
- 1.什么是逆向工程mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的
- BigDecimal的舍入模式(RoundingMode)BigDecimal.divide方法中必须设置roundingMode,不然会报
- 本文实例源自一个项目,其中需要调用本机的摄像头进行拍照,分享给大家供大家参考之用。具体步骤如下:硬件环境:联想C360一体机,自带摄像头编写
- 一、 lib文件的简介.lib是一种文件后缀,是Windows操作系统的库文件,有静态lib和动态lib之分:1)、静态lib文件
- 之前使用Retrofit都是将JSON串转化为POJO对象,针对不同的业务协议,定义相应的接口和参数列表。但是此种方式一般用在自己内部协议基
- 本文实例为大家分享了springboot+vue实现垃圾分类管理系统的具体代码,供大家参考,具体内容如下一、项目概述1.项目内容本项目利用I
- 本文实例讲述了C#针对xml的基本操作及保存配置文件应用,分享给大家供大家参考。具体方法如下:引言:这里首先介绍了xml的基本操作,后面写了
- 通过本篇文章主要给大家讲解了在JAVA开发中Servlet3.0异步处理遇到的问题以及处理办法,以下是具体内容:Servlet 3.0 开始
- 1.c#里面的TabControl控件没有关闭按钮,而且很难看。2.有一些已经做好的第三方控件,但是收费。3.由于我的故障树推理诊断项目在绘
- 在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。通常对象之间的比较可以从两个方面去看:第一个方面:对象的地址是否
- List<T>是怎么存放元素?我们扒一段List<T>的一段源码来一窥究竟。using System;using S
- 本文实例讲述了Android使用ContentResolver搜索手机通讯录的方法。分享给大家供大家参考,具体如下:在这个程序中使用Cont
- 1. 定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。2. 使用的
- 概念是利用锁的机制来实现同步的。互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一
- 什么是Etcd?etcd是一个强大的一致性的分布式键值存储,它提供了一种可靠的方式来存储需要由分布式系统或机器群访问的数据。它优雅地处理网络
- 本文实例为大家分享了Unity3D实现物体排成弧行的具体代码,供大家参考,具体内容如下一般用在Pico、HTC、DP等VR设备中效果:完整代
- 前言本文学习MP中的更新操作方法,带大家一起查看源码,了解更新操作的方法。学会熟练地去运用更新方法解决自己在项目中的问题。一、通过id更新1
- 1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修
- 我在 android里面 使用html5的 localStorage 为什么存不进去也读不出来呀?网上搜了好多都没效果mainWebView
- 1.EazyEmail邮件发送类库Net 类库自带了邮件发送功能。笔者对该类库,从使用的角度进行了二次封装,nuget上可搜索EazyEma