URL連接類在Java中是一個抽象類,表示由相應的URL指定的資源的連接。它是由java.net包。這個URL連接類用於服務兩個不同但相關的目的,首先,它比 URL 類提供對與服務器(尤其是 HTTP 服務器)交互的控製。其次,通過 URLConnection,我們可以檢查服務器發送的標頭並做出相應的響應,我們可以配置客戶端請求中使用的標頭字段。我們還可以使用 URLConnection 下載二進製文件。
讓我們討論一下這個類的主要方法
方法 | 說明 |
---|---|
addRequestProperty(String key, String value) | 該方法用於添加一個由鍵值對指定的通用請求屬性。 |
connect() | 如果尚未建立與 URL 指定的資源的連接,則使用此方法。 |
getAllowUserInteraction() | 此方法返回對象的allowUserInteraction 字段。 |
getConnectTimeout() | 此方法返回連接time-out的設置。 |
getContent() | 該方法用於檢索 URLConnection 的內容。 |
getContent(類[]類) | 檢索此 URL 連接的內容。 |
getContentEncoding() | 返回content-encoding頭字段的值 |
getContentLength() | 返回 content-length 標頭字段的值。 |
getContentLengthLong() | 以長整型形式返回 content-length 標頭字段的值。 |
getContentType() | 返回content-type頭字段的值 |
getDate() | 返回日期標頭字段的值。 |
getDefaultAllowUserInteraction() | 返回allowUserInteraction字段的默認值。 |
getDefaultRequestProperty(字符串鍵) | 在獲得 URLConnection 的適當實例後,應使用實例特定的 getRequestProperty 方法。 |
getDefaultUseCaches() | 返回 URLConnection 的 useCaches 標誌的默認值。 |
getDoInput() | 返回此 URLConnection 的 doInput 標誌的值。 |
getDoOutput() | 返回此 URLConnection 的 doOutput 標誌的值。 |
getExpiration() | 返回過期標頭字段的值。 |
getFileNameMap() | 從數據文件加載文件名映射(mimetable) |
獲取標題字段(int n) | 獲取第 n 個標頭字段的值。 |
getHeaderField(字符串名稱) | 返回指定標頭字段的值。 |
getHeaderFieldDate(String name, long Default) | 返回解析為日期的命名字段的值 |
getHeaderFieldInt(字符串名稱,int默認) | 返回解析為數字的命名字段的值。 |
getHeaderFieldKey(int n) | 返回第 n 個標頭字段的鍵。 |
getHeaderFieldLong(String name, long Default) | 返回解析為數字的命名字段的值。 |
getHeaderFields() | 返回一個不可修改的標頭字段映射。 |
getIfModifiedSince() | 返回此對象的 ifModifiedSince 字段的值。 |
getInputStream() | 返回從此打開的連接讀取的輸入流 |
getLastModified() | 返回 last-modified 標頭字段的值。 |
getOutputStream() | 返回寫入此連接的輸出流 |
getPermission() | 返回一個權限對象,表示建立此對象所表示的連接所需的權限。 |
getReadTimeout() | 返回讀取超時設置。 |
getRequestProperties() | 返回此連接的一般請求屬性的不可修改的映射 |
getRequestProperty(String key) | 返回此連接的指定常規請求屬性的值 |
getURL() | 返回此 URLConnection 的 URL 字段的值。 |
getUseCaches() | 返回此 URLConnection 的 useCaches 字段的值。 |
guessContentTypeFromName(String fname) | 嘗試根據 URL 的指定 “file” 組件確定對象的內容類型 |
guessContentTypeFromStream(InputStream is) | 嘗試根據輸入流開頭的字符確定輸入流的類型。 |
setAllowUserInteraction(boolean allowuserinteraction | 設置此 URLConnection 的 allowedUserInteraction 字段的值 |
setConnectTimeout(int timeout) | 設置打開此 URLConnection 引用的資源的通信鏈接時使用的指定超時值(以毫秒為單位) |
setContentHandlerFactory(ContentHandlerFactory fac) | 設置應用程序的ContentHandlerFactory。 |
setDefaultAllowUserInteraction(boolean defaultallowuserinteraction) | 將所有未來 URLConnection 對象的 allowedUserInteraction 字段的默認值設置為指定值。 |
setDefaultRequestProperty(String key, String value) | 在獲得 URLConnection 的適當實例後,應使用實例特定的 setRequestProperty 方法。調用該方法不會產生任何效果。 |
setDefaultUseCaches(布爾值defaultusecaches) | 將 useCaches 字段的默認值設置為指定值。 |
setDoInput(boolean doinput) | 將此 URLConnection 的 doInput 字段的值設置為指定值。 |
setDoOutput(boolean dooutput) | 將此 URLConnection 的 doOutput 字段的值設置為指定值。 |
setFileNameMap(FileNameMap map) | 設置 FileNameMap。 |
setIfModifiedSince(long ifmodifiedsince) | 將此 URLConnection 的 ifModifiedSince 字段的值設置為指定值 |
setReadTimeout(int 超時 | 將讀取超時設置為指定的超時(以毫秒為單位) |
setRequestProperty(String key, String value) | 設置通用請求屬性 |
setUseCaches(布爾值 usecaches | 將此 URLConnection 的 useCaches 字段的值設置為指定值。 |
toString() | 返回此 URL 連接的字符串表示形式。 |
執行:
示例
Java
// Java Program to demonstrate URLConnection class
// Importing input output classes
import java.io.*;
// Importing java.net package
// consisting of all network classes
import java.net.*;
// Main class
// URLConnectionExample
public class GFG {
// Main driver method
public static void main(String[] args) throws Exception
{
// Try block to check for exceptions
try {
// Creating an object of URL class
// Custom input URL is passed as an argument
URL u = new URL("www.geeksforgeeks.com");
// Creating an object of URLConnection class to
// communicate between application and URL
URLConnection urlconnect = u.openConnection();
// Creating an object of InputStream class
// for our application streams to be read
InputStream stream
= urlconnect.getInputStream();
// Declaring an integer variable
int i;
// Till the time URL is being read
while ((i = stream.read()) != -1) {
// Continue printing the stream
System.out.print((char)i);
}
}
// Catch block to handle the exception
catch (Exception e) {
// Print the exception on the console
System.out.println(e);
}
}
}
輸出
java.net.MalformedURLException: no protocol: www.geeksforgeeks.com
相關用法
- Java java.net.URLPermission用法及代碼示例
- Java java.net.SocketException用法及代碼示例
- Java java.net.Proxy用法及代碼示例
- Java java.net.ProxySelector用法及代碼示例
- Java java.net.ProtocolFamily用法及代碼示例
- Java java.net.SocketOption用法及代碼示例
- Java java.net.CookiePolicy用法及代碼示例
- Java java.net.SecureCacheResponse用法及代碼示例
- Java java.net.CacheResponse用法及代碼示例
- Java java.net.SocketImplFactory用法及代碼示例
- Java java.net.ResponseCache用法及代碼示例
- Java java.net.NetPermission用法及代碼示例
- Java java.net.CacheRequest用法及代碼示例
- Java java.net.FileNameMap用法及代碼示例
- Java java.net.CookieStore用法及代碼示例
- Java java.net.PasswordAuthentication用法及代碼示例
- Java java.net.CookieHandler用法及代碼示例
- Java java.net.CookieManager用法及代碼示例
- Java java.net.BindException用法及代碼示例
- Java java.net.Socket用法及代碼示例
- Java java.net.ServerSocket用法及代碼示例
- Java java.net.InetAddress用法及代碼示例
- Java java.nio.ByteBuffer用法及代碼示例
- Java java.nio.IntBuffer用法及代碼示例
- Java java.nio.file.FileStore用法及代碼示例
注:本文由純淨天空篩選整理自佚名大神的英文原創作品 java.net.URLConnection Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。