溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于java中URL和URLConnection的示例分析

發(fā)布時(shí)間:2021-08-25 10:10:06 來源:億速云 閱讀:95 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)基于java中URL和URLConnection的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

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

URLConnection則是URL對(duì)象和Socket連接給結(jié)合起來了,使得可以更輕松地獲取發(fā)起URL請(qǐng)求的連接套接字。

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對(duì)象,這個(gè)對(duì)象是面對(duì)這個(gè)URL的連接。

也就是說,這個(gè)對(duì)象其實(shí)是一個(gè)已連接套接字,它不僅具有解析http響應(yīng)報(bào)文的功能,還具有套接字的相關(guān)功能(例如獲取輸入流、輸出流等)。

僅就解析對(duì)象來說,URL對(duì)象解析的是URL地址,可以看作是解析http請(qǐng)求報(bào)文(如getPort(),getFile()等),而URLConnection則解析的是http響應(yīng)報(bào)文(如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響應(yīng)報(bào)文
      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();
    }
  }
}

感謝各位的閱讀!關(guān)于“基于java中URL和URLConnection的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI