Java网络通讯涉及的基础类

Java网络通讯涉及的基础类

  • 网络通讯类所属的包Java.net.*

  • InetAddress类:表示Internet网络地址

  • URLEncoder与URLDecoder类:编码和解码类

    cityname="苏州";
    cityname = URLEncoder.encode(cityname,"UTF-8");
    
  • URL类:同一资源定位器

    • URL组成分析

      • http://www/runoob.com/index.html?language=cn#j2se
        • 协议(protocol):http
        • 主机(host:port):www.runoob.com
        • 端口号(port):80,以上URL实力未指定端口,应为HTTP下一默认的端口位80
        • 文件路径(path):/index.html
        • 请求参数(query):language=cn
        • 定位位置(fragment):j2se,定位到网页中id属性为j2se的HTML元素位置
    • URL其他函数

      • public String getPath()//返回URL路径部分
        public String getQuery()//返回URL查询部分
        public String getAuthority()//获取此URL的授权部分
        public int getPort()//返回URL端口部分
        public int getDafaultPort()//返回协议的默认端口号
        public String getProtocol()//返回URL的协议
        public String getHost()//返回URL的主机
        public String getFile()//返回URL文件名部分
        public String getRef()//获取此URL的锚点(也称为“引用”)。
        public URLConnection openConnection()throws IOException//打开一个URL链接,并允许客户端访问资源
        
  • URLConnection类:URL链接

  • HttpURLConnection类:HttpURLl链接

用URLConnection下载资源

  • 创建一个URL连接,并发送请求,读取此URL引用的资源,步骤如下:

    • (1)URL.openConnection()创建URLConnection对象
    • (2)设置URLConnection的参数和普通请求属性
    • (3)如果只是发送GET方式请求,使用connection方法建立和远程资源之间的实际连接即可
    • (4)如果需要发送post方式请求,需要获取URLConnection实例对应的输出流发送请求参数。
    • 远程资源变为可用,可以访问远程资源的头字段或通过输入流来发送请求参数
  • 示例:

    private void getInputFromOpenConnection() throws IOException{
        URL url = new URL("http://www.baidu.com");
        
        //方式1:
        //返回一个URLConnection对象,它表示到URL所引用的远程对象的连接。
        URLConnection urlConn = url.openConnection();
        InputStream in = urlConn.getInputStream();//打开的连接读取的输入流。
        
        //方式2:
        //打开到此URL的连接并返回一个用于从该连接读入的InputStream
        //InputStream instream = utl.openStream();
        
        //另一种读取方法
        Reader reader = new InputStreamReader(new BudderedInputStream(in));
        int ch;
        while((ch= reader.read())!=-1){
            System.out.print((char)ch);
        }
        reader.close();
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值