logo
Хабибуллин

Работа в WWW

Среди программного обеспечения Интернета большое распространение получила информационная система WWW (World Wide Web), основанная на прикладном протоколе HTTP (Hypertext Transfer Protocol). В ней используется расширенная адресация, называемая URL (Uniform Resource Locator). Эта адресация имеет такие схемы:

protocol://authority@host:port/path/file#ref protocol://authority@host:port/path/file/query?user_info

Здесь необязательная часть authority — это пара имя:пароль для доступа к хосту, host — это IP-адрес или доменное имя хоста. Например:

http://www.bhv.ru/

https://132.192.5.10:448/public/some.html

ftp://guest:password@lenta.ru/users/local/pub

file:///C:/text/html/index.htm

Если какой-то из элементов адреса URL отсутствует, то берется его стандартное значение. Например, номер порта протокола HTTP по умолчанию равен 80, протокола HTTPS — 443, а протокола FTP — 21. Если отсутствует путь к имени файла path/file, то сервер отправляет клиенту файл, определяемый хостом, так называемый "welcome file".

Чаще всего это файл с именем index.html, index.htm или index.jsp.

В Java для работы с URL есть класс URL пакета java.net. Объект этого класса создается одним из шести конструкторов. В основном конструкторе

URL(String url);

задается расширенный адрес url в виде строки. Кроме методов доступа getProtocol(),

getAuthority(), getHost(), getPort(), getPath(), getFile(), getQuery(), getUserInfo(), по-

зволяющих получить элементы URL, в этом классе есть два интересных метода:

openConnection() — определяет связь с URL и возвращает объект класса URLConnection;

openStream() — устанавливает связь с URL и открывает входной поток в виде воз-

вращаемого объекта класса InputStream.

Листинг 24.1 показывает, как легко можно получить файл из Интернета, пользуясь ме-

тодом openStream().