欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于java URL和URLConnection(详解)

程序员文章站 2023-12-09 14:09:09
url类将url地址封装成对象,提供了解析url地址的方法,如获取uri部分、host部分、端口等。 urlconnection则是url对象和socket连接给结合起来...

url类将url地址封装成对象,提供了解析url地址的方法,如获取uri部分、host部分、端口等。

urlconnection则是url对象和socket连接给结合起来了,使得可以更轻松地获取发起url请求的连接套接字。

1.url

import java.net.malformedurlexception;
import java.net.url;
public class urldemo {
  public static void main(string[] args) throws malformedurlexception {
    url url = new url("http://192.168.0.124:8080/webapp/index.html?name=lisi");
    int port = url.getport();
    string host = url.gethost();
    string uri_path = url.getpath();
    string request_file = url.getfile();
    string query = url.getquery();
    system.out.println("host: "+ host);
    system.out.println("port: "+ port);
    system.out.println("uri_path: "+ uri_path);
    system.out.println("request_file: "+ request_file);
    system.out.println("query: "+ query);
  }
}

2.urlconnection

通过url的openconnection()方法可以获取urlconnection对象,这个对象是面对这个url的连接。

也就是说,这个对象其实是一个已连接套接字,它不仅具有解析http响应报文的功能,还具有套接字的相关功能(例如获取输入流、输出流等)。

仅就解析对象来说,url对象解析的是url地址,可以看作是解析http请求报文(如getport(),getfile()等),而urlconnection则解析的是http响应报文(如getlastmodified(),getheaderfields()等)。

import java.io.ioexception;
import java.io.inputstream;
import java.net.malformedurlexception;
import java.net.url;
import java.net.urlconnection;

public class urlconnectiondemo {
  public static void main(string[] args) {
    try {
      url url = new url("https://www.baidu.com/");
      urlconnection urlc = url.openconnection();
      system.out.println(urlc.geturl()); //解析http响应报文
      inputstream is = urlc.getinputstream();
      byte[] buf = new byte[1024];
      int len = 0;
      while((len=is.read(buf))!=-1) {
        system.out.println(new string(buf,0,len));
      }
    } catch (malformedurlexception e1) {
      // todo auto-generated catch block
      e1.printstacktrace();
    } catch (ioexception e) {
      // todo auto-generated catch block
      e.printstacktrace();
    }
  }
}

以上这篇基于java url和urlconnection(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。