Среди программного обеспечения Internet большое распространение получила информационная система 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/extra_path?info
Здесь необязательная часть authority — это пара имя:пароль для доступа к хосту, host — это IP-адрес или доменное имя хоста. Например:
http://www.bhv.ru/
http://132.192.5.10:8080/public/some.html
ftp://guest:password@lenta.ru/users/local/pub
ffle:///C:/text/html/index.htm
Если какой-то элемент URL отсутствует, то берется стандартное значение. Например, в первом примере номер порта port равен 80, а имя файла path — какой-то головной файл, определяемый хостом, чаще всего это файл с именем index.html. В третьем примере номер порта равен 21. В последнем примере в форме URL просто записано имя файла index.htm, расположенного на разделе С: жесткого диска той же самой машины.
В Java для работы с URL есть класс URL пакета java.net. Объект этого класса создается одним из шести конструкторов. В основном конструкторе
URL(String url)
задается расширенный адрес url в виде строки. Кроме методов доступа getxxxo, позволяющих получить элементы URL, в этом классе есть два интересных метода:
openConnection ()
— определяет связь с URL и возвращает объект класса
URLConnection;
openStream()
— устанавливает связь с URL и открывает входной поток в виде возвращаемого объекта класса inputstream.
Листинг 19.1 показывает, как легко можно получить файл из Internet, пользуясь методом openStream().
Листинг 19.1.
Получение Web-страницы
import java.net.*;
import j ava.io.*;
class SimpleURL{
public static void main(String[] args){
try{
http://www.bhv.ru/
");