Java URL 处理

说明

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

声明

以下是 java.net.URLConnectiongetHeaderField(int n) 方法的声明。 

public String getHeaderField(int n) 

参数

n - 索引,其中 n>=0

返回Value

第 nth 个标头字段的值,如果少于 n+1 个字段,则为 null

异常

示例 1

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

package com.yxjc123;

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

public class UrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://www.yxjc123.com");
         URLConnection urlConnection = 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:165900
Cache-Control:max-age=2592000
Content-Type:text/html; charset=UTF-8
Date:Wed, 06 Dec 2023 05:11:49 GMT
Expires:Fri, 05 Jan 2024 05:11:49 GMT
Last-Modified:Mon, 04 Dec 2023 07:06:49 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:293801 

示例 2

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

package com.yxjc123;

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

public class UrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://www.yxjc123.com");
         URLConnection urlConnection = 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:166167
Cache-Control:max-age=2592000
Content-Type:text/html; charset=UTF-8
Date:Wed, 06 Dec 2023 05:16:16 GMT
Expires:Fri, 05 Jan 2024 05:16:16 GMT
Last-Modified:Mon, 04 Dec 2023 07:06:49 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:293801 

示例 3

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

package com.yxjc123;

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

public class UrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("http://www.baidu.com");
         URLConnection urlConnection = 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:Wed, 06 Dec 2023 05:13:35 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';...
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-06-05; expires=Fri, 05-Jan-2024 05:13:35 GMT;...
Set-Cookie:AEC=Ackid1S2Iur-...HttpOnly; SameSite=lax
Set-Cookie:...
Accept-Ranges:none
Vary:Accept-Encoding
Transfer-Encoding:chunked