Сетевые средства Java


Листинг 19.1. Получение Web-страницы



Листинг 19.1.

Получение Web-страницы



import java.net.*;

import j ava.io.*;

class SimpleURL{

public static void main(String[] args){ 

try{

URL bhv = new URL("

"); 

BufferedReader br = new BufferedReader( 

new InputStreamReader(bhv.openStream()));

String line;

while ((line = br.readLine()) != null)

System.out.println(line); 

br.close(); 

}catch(MalformedURLException me){

System.err.println("Unknown host: " + me); 

System.exit(0); 

}catch(IOException ioe){

System.err.println("Input error: " + ioe); 

}

Если вам надо не только получить информацию с хоста, но и узнать ее тип: текст, гипертекст, архивный файл, изображение, звук, или выяснить длину файла, или передать информацию на хост, то необходимо сначала методом openConnection () создать объект класса URLConnection или его подкласса

HttpURLConnection.

После создания объекта соединение еще не установлено, и можно задать параметры связи. Это делается следующими методами:

  • setDoOutput (boolean out)

    — если аргумент out равен true, то передача пойдет от клиента на хост; значение по умолчанию false;

  • setDoinput (boolean in)

    — если аргумент in равен true, то передача пойдет с хоста к клиенту; значение по умолчанию true, но если уже выполнено setDoOutput(true), то значение по умолчанию равно false;

  • setUseCaches (boolean cache)

    — если аргумент cache равен false, то передача пойдет без кэширования, если true, то принимается режим по умолчанию;

  • setDefaultUseCaches(boolean default)

    — если аргумент default равен true, то принимается режим кэширования, предусмотренный протоколом;

  • setRequestProperty(String name, String value) —

    добавляет параметр name со значением value к заголовку посылаемого сообщения.

    После задания параметров нужно установить соединение методом connect (). После соединения задание параметров уже невозможно. Следует учесть, что некоторые методы доступа getxxxo, которым надо получить свои значения с хоста, автоматически устанавливают соединение, и обращение к методу connect () становится излишним.




    - Начало -  - Назад -  - Вперед -