Accessing Password-Protected Sites
Many popular sites, such as
The
Wall Street Journal,
require a username and password for access. Some sites, such as
Oracle TechNet, implement this through HTTP authentication. Others,
such as the Java Developer Connection, implement it through cookies
and HTML forms. Java’s URL class can access
sites that use HTTP authentication, though you’ll of course
need to tell it what username and password to use. Java does not
provide support for sites that use nonstandard, cookie-based
authentication, partially because Java doesn’t really support
cookies and partially because this requires parsing and submitting
HTML forms. You can provide this support yourself using the
URLConnection class to read and write the HTTP
headers where cookies are set and returned. However, doing so is
decidedly nontrivial, and often requires custom code for each site
you want to connect to. It’s really hard to do short of
implementing a complete web browser with full HTML forms and cookie
support. Accessing sites protected by standard, HTTP authentication
is much easier.
The Authenticator Class
Starting in Java 1.2 (but not available in Java 1.1), the
java.net package includes an
Authenticator
class you can use to provide a username
and password for sites that protect themselves using HTTP
authentication:
public abstract class Authenticator extends Object
Since Authenticator is an abstract class, you must subclass it. Different subclasses may retrieve the information ...