Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误和异常

Java 多线程

Java 同步

Java 网络编程

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类参考

Java 有用资源

Java - HttpURLConnection getHeaderField(int n) 方法



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

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

声明

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

public String getHeaderField(int n)

参数

n - 一个索引,其中 n>=0

返回值

第 n 个报头字段的值,如果该值不存在则返回 null。

异常

示例 1

以下示例演示了如何使用 Java HttpURLConnection getHeaderField(int n) 方法处理使用 https 协议的有效 url。在此示例中,我们创建了一个 URL 类的实例。使用 url.openConnection() 方法,我们获取了 HttpURLConnection 实例。使用 getHeaderField(),我们获取 HttpURLConnection 实例的所有报头字段的值并打印它们 -

package com.tutorialspoint;

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://tutorialspoint.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.tutorialspoint;

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://tutorialspoint.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.tutorialspoint;

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.google.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=.google.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
java_httpurlconnection.htm
广告