Getting the Cookies from an HTTP Connection - Java Network

Java examples for Network:Cookie

Description

Getting the Cookies from an HTTP Connection

Demo Code


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

public class Main {
  public static void main(String[] argv) {
    try {//from   w w w  .  j  a  v  a 2 s  . c  o  m
      URL url = new URL("http://hostname:80");
      URLConnection conn = url.openConnection();

      for (int i = 0;; i++) {
        String headerName = conn.getHeaderFieldKey(i);
        String headerValue = conn.getHeaderField(i);

        if (headerName == null && headerValue == null) {
          // No more headers
          break;
        }
        if ("Set-Cookie".equalsIgnoreCase(headerName)) {
          // Parse cookie
          String[] fields = headerValue.split(";\\s*");

          String cookieValue = fields[0];
          String expires = null;
          String path = null;
          String domain = null;
          boolean secure = false;

          // Parse each field
          for (int j = 1; j < fields.length; j++) {
            if ("secure".equalsIgnoreCase(fields[j])) {
              secure = true;
            } else if (fields[j].indexOf('=') > 0) {
              String[] f = fields[j].split("=");
              if ("expires".equalsIgnoreCase(f[0])) {
                expires = f[1];
              } else if ("domain".equalsIgnoreCase(f[0])) {
                domain = f[1];
              } else if ("path".equalsIgnoreCase(f[0])) {
                path = f[1];
              }
            }
          }

          // Save the cookie...
        }
      }
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
  }
}

Related Tutorials