Java 程式獲取 URL 的組成部分
URL 也稱為 統一資源定位符,是一個用於指定網頁資源(如網頁、影像、影片和檔案)在網際網路上的位置的字串。URL 有助於輕鬆訪問這些資源,並有助於從 Web 伺服器檢索資源。URL 也稱為網際網路地址或網路地址。在本節中,我們將討論如何在 Java 中獲取 URL 的不同組成部分。
URL 的組成部分
以下是 URL 的組成部分:
-
協議 - 協議指定用於訪問 Web 資源的方法。此方法用於指定客戶端和伺服器之間通訊所使用的規則和規範。例如:HTTP、HTTPS、FTP、SMTP
-
主機 - 主機標識資源的域名,即 IP 地址。例如:www.google.com
-
埠 - 埠指定處理請求的伺服器。如果未指定埠,則採用預設伺服器。例如:80、443。
-
路徑 - 路徑將伺服器上的 Web 資源位置指定為檔案或目錄的路徑。
-
查詢字串 - 用於將引數作為名稱-值對傳遞給 Web 資源。名稱-值對由 & 分隔。
-
片段 - 用於在 Web 資源中定位特定部分,並由 # 標識。
URL 示例
https://www.example.com/path/to/file.html?key=value#fragment
-
協議:HTTPS
-
主機:www.example.com
-
埠:80
-
路徑:/path/to/file.html
-
查詢字串:key=value
-
片段:fragment
現在,我們將討論使用 Java 程式語言獲取 URL 不同組成部分的各種方法。
方法 1:使用 URL 類
在此方法中,我們將使用 ‘java.net’ 包中的 URL 類。它提供了各種內建函式來處理 URL。現在,我們將實現一個 Java 程式來查詢所有元件。
提取 URL 元件的步驟
以下是提取 URL 元件的步驟:
-
使用 URL 類建立 URL 物件
-
在 try 塊中,使用以下方法列印元件
-
使用catch() 方法捕獲異常,並使用 getMessage() 方法列印訊息。
使用的方法
以下是提取 URL 元件的方法
getProtocol() - 此方法用於獲取 URL 的協議元件。它返回一個字串。
URL url = new URL("https://www.example.com");
String protocol = url.getProtocol(); // gives us the protocol used in URL
getHost() - 此方法用於獲取 URL 的主機元件。它返回一個字串。
URL url = new URL("https://www.example.com");
String host = url.getHost();
getPort() - 此方法用於獲取 URL 的埠號。它返回一個整數。
URL url = new URL("https://www.example.com:8080");
int port = url.getPort();
getPath() - 此方法用於獲取 URL 的路徑。
URL url = new URL("https://www.example.com/path/to/resource");
String path = url.getPath();
getQuery() - 此方法用於獲取 URL 的查詢字串。
URL url = new URL("https://www.example.com/path/to/resource?key1=value1&key2=value2");
String query = url.getQuery()
getRef() - 此方法用於獲取 URL 的片段。
URL url = new URL("https://www.example.com/path/to/resource?key1=value1&key2=value2#section1");
String fragment = url.getRef();
Java 程式獲取 URL 的不同組成部分
在此示例中,我們建立了一個 URL 物件,並在建立的 URL 物件上使用不同的方法來獲取 URL 的不同組成部分:
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://www.example.com/path/to/file.html?key=value#fragment");
System.out.println("Protocol: " + url.getProtocol());
System.out.println("Host: " + url.getHost());
System.out.println("Port: " + url.getPort());
System.out.println("Path: " + url.getPath());
System.out.println("Query: " + url.getQuery());
System.out.println("Fragment: " + url.getRef());
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
輸出
Protocol: https Host: www.example.com Port: -1 Path: /path/to/file.html Query: key=value Fragment: fragment
方法 2:使用 URI 類
在此方法中,我們將使用 ‘java.net’ 包中的 URI 類。它提供了各種內建函式來處理 URL。現在,我們將實現一個 Java 程式來查詢所有元件。
使用 URI 類提取 URL 元件的步驟
以下是提取 URI 元件的步驟:
-
使用 URI 類建立 URI 物件
-
在 try 塊中,使用以下方法列印元件
- getScheme()
- getHost()
- getPort()
- getPath()
- getQuery()
- getFragment()
-
使用 catch() 方法捕獲異常,並使用 getMessage() 方法列印訊息。
使用的方法
以下是使用 URI 類提取 URL 元件的步驟:
getScheme() - 此方法類似於 getProtocol()。它用於獲取 URL 的協議。
URL url = new URL("https://www.example.com/path/to/resource");
String scheme = url.getScheme();
getFragment() - 此方法類似於 getRef()。它用於獲取 URL 的片段。
URI uri = new URI("https://www.example.com/path/to/resource?key1=value1&key2=value2#section1");
String fragment = uri.getFragment();
substring() - 此方法用於透過將子字串的開始和結束索引作為引數來從較大的字串中獲取較短的字串。
String str = "Hello, world!"; String substr1 = str.substring(0, 5); // extracts "Hello" String substr2 = str.substring(7); // extracts "world!"
indexOf() - 此方法用於查詢字串中特定字元的索引。
String str = "Hello, world!";
int index1 = str.indexOf('o'); // finds the first occurrence of 'o'
getMessage() - 此方法用於獲取異常的錯誤訊息。
errorObject.getMessage()
Java 程式使用 URI 類獲取 URL 的不同組成部分
在此示例中,我們建立了一個 URI 物件,並在建立的 URL 物件上使用不同的方法來獲取 URL 的不同組成部分:
import java.net.URI;
public class Main{
public static void main(String[] args) {
try {
URI uri = new URI("https://www.example.com/path/to/file.html?key=value#fragment");
System.out.println("Scheme: " + uri.getScheme());
System.out.println("Host: " + uri.getHost());
System.out.println("Port: " + uri.getPort());
System.out.println("Path: " + uri.getPath());
System.out.println("Query: " + uri.getQuery());
System.out.println("Fragment: " + uri.getFragment());
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
輸出
Scheme: https Host: www.example.com Port: -1 Path: /path/to/file.html Query: key=value Fragment: fragment
因此,在本文中,我們討論了使用 Java 程式語言獲取 URL 元件的不同方法。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP