Платформа программирования J2ME для портативных устройств



   прокси          

Таблица 8 5 Определения констант интерфейса HttpConnection


Константа HttpConnection

Описание

static String GET

Представляет метод запроса GET

static String HEAD

Представляет метод запроса HEAD

static int HTTP_ACCEPTED

HTTP статус 202

static int HTTP_BAD_GATEWAY

HTTP статус 502

static int HTTP_BAD_METHOD

HTTP статус 405

static int HTTP_BAD_REQUEST

HTTP статус 400

static int HTTP_CLIENT_TIMEOUT

HTTP статус 408

static int HTTP_CONFLICT

HTTP статус 409

static int HTTP_CREATED

HTTP статус 201

static int HTTP_ENTITY_TOO_LARGE

HTTP статус 413

static int HTTP_EXPECT_FAILED

HTTP статус 41 7

static int HTTP_FORBIDDEN

HTTP статус 403

static int HTTP_GATEWAY_TIMEOUT

HTTP статус 504

static int HTTP_GONE

HTTP статус 410

static int HTTP_INTERNAL_ERROR

HTTP статус 500

static int HTTP_LENGTH_REQUIRED

HTTP статус 41 1

static int HTTP_MOVED_PERM

HTTP статус 301

static int HTTP_MOVED_TEMP

HTTP статус 302

static int HTTP_MULT_CHOICE

HTTP статус 300

static int HTTP_NO_CONTENT

HTTP статус 204

static int HTTP_NOT_ACCEPTABLE

HTTP статус 406

static int HTTP_NOT_AUTHORITATIVE

HTTP статус 203

static int HTTP_NOT_FOUND

HTTP статус 404

static int HTTP_NOT_IMPLEMENTED

HTTP статус 501

static int HTTP_NOT_MODIFIED

HTTP статус 304

static int HTTP_OK

HTTP статус 200

static int HTTP_PARTIAL

HTTP статус 20В

static int HTTP_PAYMENT_REQUIRED

HTTP статус 402

static int HTTP_PRECON_FAILED

HTTP статус 412

static int HTTP_PROXY_AUTH

HTTP статус 407

static int HTTP_REQ_TOO_LONG

HTTP статус 414

static int HTTP_RESET

HTTP статус 205

static int HTTP_SEE_OTHER

HTTP статус 303

static int HTTP_TEMP_REDIRECT

HTTP статус 307

static int HTTP_UNAUTHORIZED

HTTP статус 401

static int HTTP_UNAVAILABLE

HTTP статус 503

static int HTTP_UNSUPPORTED_RANGE

HTTP статус 416

static int HTTP_UNSUPPORTED_TYPE

HTTP статус 41 5

static int HTTP_USE_PROXY

HTTP статус 305

static int HTTP_VERSION

HTTP статус 505

static String_HTTP_POST

Представляет метод запроса POST

Вы можете видеть, что интерфейс HttpConnection предоставляет наибольший набор функциональных возможностей из всех интерфейсов. HTTP является протоколом уровня приложений, наиболее часто поддерживаемым реализациями MIDP.

В листингах с 8.1 по 8.4 показан исходный код для простой программы, которая демонстрирует, как пользователь мобильного устройства может запрашивать ресурс HTTP с удаленного сервера. Вы можете найти, что эта программа не работает при выполнении за пределами вашего корпоративного брандмауэра, в зависимости от конфигураций сети вашей компании, брандмауэра и прокси-сервера. Вы можете быть ограничены до посещения URI ресурсов, расположенных в пределах вашей корпоративной сети.

Протокол HTTP определяет семантику, связанную с тем, что клиентам необходимо запрашивать ресурсы через прокси-сервер. Браузер может изменять URI пользователя, основываясь на настройках его прокси, и посылать измененный запрос на прокси-сервер, который перенаправляет его на исходный сервер. Программа не делает таких изменений URI, и поэтому она не может пересылать URI, как ожидается вашим прокси-сервером. Если вы не знаете, как браузер изменяет URI, у вас могут возникнуть сложности при доступе к URI, являющимся внешним по отношению к вашей корпоративной сети. Результат выразится в том, что программа, показанная в листинге 8.1, сбросит lOException.

Программа, показанная в листинге 8.1, отображает только метаинформацию о запрошенных ресурсах и не отображает сам ресурс. Она лишь запрашивает информацию заголовка для каждого ресурса, используя метод HEAD HTTP. Написание программы, которая отображала бы произвольное содержимое, было бы равноценно написанию целого браузера, что, очевидно, лежит за пределами темы данной книги. К счастью, некоторые компании предлагают HTTP-браузеры, которые работают на устройствах MIDP, так что вам не придется проделывать эту огромную работу.



Содержание Назад Вперед