HttpURLConnection 类是 Java 中用于实现 HTTP 协议的基础类,它提供了一系列方法来建立与 HTTP 服务器的连接、发送请求并读取响应信息。下面是 HttpURLConnection 类中常用的方法以及其详细解释:
----------------------------------------------------------------------------------------------------------------------------connect()
public void connect() throws IOException
建立与 HTTP 服务器的连接。该方法必须在设置完请求方法、请求头和请求体等属性后调用,否则可能会抛出异常。
----------------------------------------------------------------------------------------------------------------------------
disconnect()
public void disconnect()
断开与 HTTP 服务器的连接。调用此方法会关闭与服务器的连接,并释放该连接占用的资源。注意,当连接被关闭后,对该连接的任何操作都会抛出异常。
----------------------------------------------------------------------------------------------------------------------------
getRequestProperty()
public String getRequestProperty(String key)
获取指定请求头属性的值。如果请求头中不存在指定的属性,则返回 null。
----------------------------------------------------------------------------------------------------------------------------
setRequestProperty()
public void setRequestProperty(String key, String value)
设置请求头属性。如果已经存在指定的属性,则替换其原有的值。
----------------------------------------------------------------------------------------------------------------------------
getRequestMethod()
public String getRequestMethod()
获取请求方法。
----------------------------------------------------------------------------------------------------------------------------
setRequestMethod()
public void setRequestMethod(String method) throws ProtocolException
设置请求方法。常见的请求方法包括 GET、POST、PUT、DELETE 等。
----------------------------------------------------------------------------------------------------------------------------
getResponseCode()
public int getResponseCode() throws IOException
获取 HTTP 响应码。如果连接没有建立成功,该方法可能会抛出异常。
----------------------------------------------------------------------------------------------------------------------------
getHeaderField()
public String getHeaderField(String name)
获取指定的响应头字段的值。
----------------------------------------------------------------------------------------------------------------------------
getHeaderFields()
public Map
获取所有响应头字段。
----------------------------------------------------------------------------------------------------------------------------
getInputStream()
public InputStream getInputStream() throws IOException
获取 HTTP 响应的输入流。如果连接没有建立成功,该方法可能会抛出异常。
----------------------------------------------------------------------------------------------------------------------------
getOutputStream()
public OutputStream getOutputStream() throws IOException
获取 HTTP 请求的输出流。如果连接没有建立成功,该方法可能会抛出异常。
----------------------------------------------------------------------------------------------------------------------------
setDoInput()
public void setDoInput(boolean doinput)
设置是否允许从 HTTP 连接读取数据。默认情况下,此属性为 true。
----------------------------------------------------------------------------------------------------------------------------
setDoOutput()
public void setDoOutput(boolean dooutput)
设置是否允许向 HTTP 连接写入数据。默认情况下,此属性为 false。
----------------------------------------------------------------------------------------------------------------------------
setUseCaches()
public void setUseCaches(boolean usecaches)
设置是否启用缓存。如果启用了缓存,则在下次请求相同 URL 时,可以直接从缓存中读取响应内容。
----------------------------------------------------------------------------------------------------------------------------
setInstanceFollowRedirects()
public void setInstanceFollowRedirects(boolean followRedirects)
设置是否启用自动重定向。如果启用了自动重定向,则在服务器返回 3xx 响应码时,HTTPURLConnection 会自动跟踪重定向并请求新的 URL。
----------------------------------------------------------------------------------------------------------------------------
setConnectTimeout()
public void setConnectTimeout(int timeout)
设置连接超时时间(单位:毫秒)。如果在指定的时间内无法连接到服务器,则会抛出 SocketTimeoutException 异常。
----------------------------------------------------------------------------------------------------------------------------
setReadTimeout()
public void setReadTimeout(int timeout)
设置读取超时时间(单位:毫秒)。如果在指定的时间内没有数据可读,则会抛出 SocketTimeoutException 异常。