當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.net.URLConnection用法及代碼示例


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.net.URLConnection Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。