java URL和URLConnection

URL類將URL地址封裝成對象,提供瞭解析URL地址的方法,如獲取uri部分、host部分、端口等。javascript

URLConnection則是URL對象和Socket鏈接給結合起來了,使得能夠更輕鬆地獲取發起URL請求的鏈接套接字。php

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的鏈接。css

也就是說,這個對象實際上是一個已鏈接套接字,它不只具備解析http響應報文的功能,還具備套接字的相關功能(例如獲取輸入流、輸出流等)。html

僅就解析對象來講,URL對象解析的是URL地址,能夠看做是解析http請求報文(如getPort(),getFile()等),而URLConnection則解析的是http響應報文(如getLastModified(),getHeaderFields()等)java

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();
        }
    }
}

注:若您以爲這篇文章還不錯請點擊右下角推薦,您的支持能激發做者更大的寫做熱情,很是感謝!nginx

相關文章
相關標籤/搜索