Java Tutorial

Java Control Statements

Object Oriented Programming

Java Built-in Classes

Java File Handling

Java Error & Exceptions

Java Multithreading

Java Synchronization

Java Networking

Java Collections

Java List Interface

Java Queue Interface

Java Map Interface

Java Set Interface

Java Data Structures

Java Collections Algorithms

Advanced Java

Java Miscellaneous

Java APIs & Frameworks

Java Useful Resources

Java - HttpURLConnection getHeaderFieldKey(int n)



The Java HttpURLConnection getHeaderFieldKey(int n) method returns the key for the nth header field.

Some implementations may treat the 0th header field as special, i.e. as the status line returned by the HTTP server.

Declaration

Following is the declaration for java.net.HttpURLConnection.getHeaderFieldKey(int n) method

public String getHeaderFieldKey(int n)

Parameters

n − an index, where n>=0

Return Value

the key of the nth header field or null if the key does not exist.

Exception

NA

Example 1

The following example shows the usage of Java HttpURLConnection getHeaderFieldKey(int n) method for a valid url with https protocol. In this example, we're creating an instance of URL class. Using url.openConnection() method, we're getting the HttpURLConnection instance. Using getHeaderFieldKey(), we're getting the key of all header fields of HttpURLConnection instance and then value using getHeaderField() method and printing the same −

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://www.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();
      }
   }
}

Let us compile and run the above program, this will produce the following result −

Output

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

Example 2

The following example shows the usage of Java HttpURLConnection getHeaderFieldKey(int n) method for a valid url with http protocol. In this example, we're creating an instance of URL class. Using url.openConnection() method, we're getting the HttpURLConnection instance. Using getHeaderFieldKey(), we're getting the key of all header fields of HttpURLConnection instance and then value using getHeaderField() method and printing the same −

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://www.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();
      }
   }
}

Let us compile and run the above program, this will produce the following result −

Output

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

Example 3

The following example shows the usage of Java HttpURLConnection getHeaderFieldKey(int n) method for a valid url with http protocol. In this example, we're creating an instance of URL class. Using url.openConnection() method, we're getting the HttpURLConnection instance. Using getHeaderFieldKey(), we're getting the key of all header fields of HttpURLConnection instance and then value using getHeaderField() method and printing the same −

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();
      }
   }
}

Let us compile and run the above program, this will produce the following result −

Output

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
Advertisements