Java HttpURLConnection 类

Java HttpURLConnection getHeaderField(int n) 方法返回第 nth 标头字段的值。如果字段少于 n+1,则返回 null。此方法可以与 getHeaderFieldKey 方法结合使用,以迭代消息中的所有标头。

某些实现可能会将第 0 个标头字段视为特殊字段,即作为 HTTP 服务器返回的状态行。

声明

以下是java.net.HttpURLConnection.getHeaderField(int n)方法的声明

public String getHeaderField(int n) 

参数

n - 索引,其中 n>=0

返回值

第 nth 的值标头字段,如果值不存在,则返回 null。

异常

示例 1

以下示例显示了Java HttpURLConnection getHeaderField(int n) 方法,用于使用 https 协议获取有效的 url。在此示例中,我们将创建 URL 类的实例。使用 url.openConnection() 方法,我们获取 HttpURLConnection 实例。使用 getHeaderField(),我们获取 HttpURLConnection 实例的所有标头字段的值并打印相同的值 -

package com.yxjc123;

import java.io.IOException;
import java.net.URL;
import java.net.HttpURLConnection;

public class HttpUrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://www.yxjc123.com");
         HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
         for (int i = 0;; i++) {
            String headerName = urlConnection.getHeaderFieldKey(i);
            String headerValue = urlConnection.getHeaderField(i);
            if (headerName == null && headerValue == null) {
               break;
            }
            System.out.println(headerName + ":" + headerValue);
         }
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
} 

让我们编译并运行上面的程序,这将产生以下结果 -

输出

null:HTTP/1.1 200 OK
Access-Control-Allow-Origin:*
Access-Control-Allow-Origin:*;
Age:474228
Cache-Control:max-age=2592000
Content-Type:text/html; charset=UTF-8
Date:Tue, 12 Dec 2023 07:43:22 GMT
Expires:Thu, 11 Jan 2024 07:43:22 GMT
Last-Modified:Wed, 06 Dec 2023 19:59:35 GMT
Server:ECAcc (ndl/D383)
Vary:Accept-Encoding
X-Cache:HIT
X-Frame-Options:SAMEORIGIN
X-Version:OCT-10 V1
X-XSS-Protection:1; mode=block
Content-Length:293827 

示例 2

以下示例显示使用 Java HttpURLConnection getHeaderField(int n) 方法获取具有 http 协议的有效 url。在此示例中,我们将创建 URL 类的实例。使用 url.openConnection() 方法,我们获取 HttpURLConnection 实例。使用 getHeaderField(),我们获取 HttpURLConnection 实例的所有标头字段的值并打印相同的值 -

package com.yxjc123;

import java.io.IOException;
import java.net.URL;
import java.net.HttpURLConnection;

public class HttpUrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://www.yxjc123.com");
         HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
         for (int i = 0;; i++) {
            String headerName = urlConnection.getHeaderFieldKey(i);
            String headerValue = urlConnection.getHeaderField(i);
            if (headerName == null && headerValue == null) {
               break;
            }
            System.out.println(headerName + ":" + headerValue);
         }
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
} 

让我们编译并运行上面的程序,这将产生以下结果 -

输出

null:HTTP/1.1 200 OK
Access-Control-Allow-Origin:*
Access-Control-Allow-Origin:*;
Age:474246
Cache-Control:max-age=2592000
Content-Type:text/html; charset=UTF-8
Date:Tue, 12 Dec 2023 07:43:40 GMT
Expires:Thu, 11 Jan 2024 07:43:40 GMT
Last-Modified:Wed, 06 Dec 2023 19:59:35 GMT
Server:ECAcc (ndl/D383)
Vary:Accept-Encoding
X-Cache:HIT
X-Frame-Options:SAMEORIGIN
X-Version:OCT-10 V1
X-XSS-Protection:1; mode=block
Content-Length:293827 

示例 3

以下示例显示使用 Java HttpURLConnection getHeaderField(int n) 方法获取具有 http 协议的有效 url。在此示例中,我们将创建 URL 类的实例。使用 url.openConnection() 方法,我们获取 HttpURLConnection 实例。使用 getHeaderField(),我们获取 HttpURLConnection 实例的所有标头字段的值并打印相同的值 -

package com.yxjc123;

import java.io.IOException;
import java.net.URL;
import java.net.HttpURLConnection;
import java.time.Instant;
import java.util.Date;

public class HttpUrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("http://www.baidu.com");
         HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
         for (int i = 0;; i++) {
            String headerName = urlConnection.getHeaderFieldKey(i);
            String headerValue = urlConnection.getHeaderField(i);
            if (headerName == null && headerValue == null) {
               break;
            }
            System.out.println(headerName + ":" + headerValue);
         }
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
} 

让我们编译并运行上面的程序,这将产生以下结果 -

输出

null:HTTP/1.1 200 OK
Date:Tue, 12 Dec 2023 07:44:09 GMT
Expires:-1
Cache-Control:private, max-age=0
Content-Type:text/html; charset=ISO-8859-1
Content-Security-Policy-Report-Only:object-src 'none';base-uri ....
P3P:CP="This is not a P3P policy! See g.co/p3phelp for more info."
Server:gws
X-XSS-Protection:0
X-Frame-Options:SAMEORIGIN
Set-Cookie:1P_JAR=2023-12-12-07; expires=Thu, 11-Jan-2024 07:44:09 GMT; path=/; domain=.baidu.com; Secure
Set-Cookie:AEC=Ackid1TQ1UjoW7ZRamWdvJefD-8-ytjYuS3JJGCMn-....HttpOnly; SameSite=lax
Set-Cookie:NID=511=Omiszvcv0SRyZB_RDetfCXkayScJzjG...
Accept-Ranges:none
Vary:Accept-Encoding
Transfer-Encoding:chunked