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