java网络编程——认识网络编程

1.IP和InetAddress

    IP地址格式:网络地址+ 主机地址

    网络号:用于识别主机所在的网络

    主机号:用于识别该网络中的主机


在实际中可以使用127.0.0.1表示本机地址,或者使用localhost。

在java中支持网络通讯程序开发,主要提供了两种通讯协议:TCP,UDP

       TCP:可靠的连接传输,使用三次握手的方式完成

        UDP:不可靠,接收方不一定会接收到

开发类都在java.net包中。

InetAddress类:

    主要表示IP地址,有两个子类,Inet4Address(IPV4协议)和Inet4Address(IPV6协议)


public class InetAddressDemo {
public static void main(String[] args) throws IOException {
InetAddress locAdd = null;
InetAddress romAdd = null;
locAdd = InetAddress.getLocalHost();
romAdd = InetAddress.getByName("https://www.baidu.com/");
System.out.println("本机地址:" + locAdd.getHostAddress());
System.out.println("远程地址:" + romAdd.getHostAddress());
System.out.println("本机是否可达:"+ locAdd.isReachable(5000));
}
}

2.URL与 URLConnection

URL:统一资源定位符,可以直接使用此类找到互联网上的资源

URL(String protocol, String host, int port, String file) 
          根据指定 protocolhostport 号和 file 创建 URL 对象。

openStream() 
          打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream

public class URLDemo {
public static void main(String[] args) throws Exception {
URL url = new URL("http", "news.baidu.com", 80, "/index.html");
InputStream input = url.openStream();
Scanner scan = new Scanner(input);
scan.useDelimiter("\n");
while(scan.hasNext()){
System.out.println(scan.next());
}
}
}

URLConnection:封装访问远程网络资源一般方法的类,通过它可以建立与远程服务器的连接,检查远程资源的属性等。


public class URLConnectionDemo {
public static void main(String[] args) throws Exception {
URL url = new URL("http://news.baidu.com/guonei");
URLConnection urlCon = url.openConnection();
System.out.println("内容大小:" + urlCon.getContentLength());
System.out.println("内容类型:" + urlCon.getContentType());
}
}

3.URLEncoder与URLDecoder

encode(String s, String enc)  
          使用指定的编码机制将字符串转换为  application/x-www-form-urlencoded  格式。

decode(String s, String enc) 
          使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。

public class CodeDemo {
public static void main(String[] args) throws Exception {
String name = "爱我中华";
String encode = URLEncoder.encode(name, "UTF-8");
System.out.println("编码后内容:"+encode);
String decode = URLDecoder.decode(encode, "UTF-8");
System.out.println("解码后内容:" + decode);
}

}

运行结果:

编码后内容:%E7%88%B1%E6%88%91%E4%B8%AD%E5%8D%8E
解码后内容:爱我中华

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值