当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。