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 ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.