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