preload
Фев 16

setHttpMethodprocedure setHttpMethod(httpConn: http; method:string);

Устанавливает один из следующих типов запроса http:

· GET
· POST
· HEAD

Фев 16

sendHttpMessagefunction sendHttpMessage(httpConn: http): integer;

Эта функция посылает запрос http, ждёт ответа и возвращает код ответа или -1 в случае ошибки. Со списком возвращаемых кодов можно ознакомиться здесь (обычно, 200 означает что всё нормально).


Фев 16

openHttpfunction openHttp(httpConn: http; url: string):boolean;

Подключает соединение 'httpConn' к адресу 'url'. Адрес должен быть представлен в форме: "http://servername[:port][/file]". Возвращает 'true' в случае успешного подключения или 'false' в случае неудачи.


Фев 16

isHttpOpenfunction isHttpOpen(httpConn: http):boolean;

Возвращает 'true' если соединение 'httpConn' открыто.


Фев 16

getHttpResponsefunction getHttpResponse(httpConn: http):string;

Возвращает данные, посланные сервером в ответ на запрос http.


Фев 16

getHttpHeaderfunction getHttpHeader(httpConn: http; name: string): string;

Возвращает значение заголовка 'name' запроса http. Например, если запрос содержит заголовок "Content-type: text/plain", вызвав функцию со значением "Content-type" параметра 'name', мы получим "text/plain".


Фев 16

closeHttpprocedure closeHttp(httpConn: http);

Закрывает открытое соединение http.


Фев 16

addHttpHeaderprocedure addHttpHeader(httpConn: http; name, value:string);

Вставляет заголовок в запрос http. Например, чтобы добавить заголовок "Accept-encoding: gzip, none", вызовите функцию со значением "Accept-encoding" у параметра 'name' и значением "gzip, none" у параметра 'value'.


Фев 16

addHttpBodyprocedure addHttpBody(httpConn: http; data: string);

Добавляет строку 'data' к телу запроса http. Непустое тело может содержать только запрос типа POST.


Фев 16

Тип httpMIDletPascal предоставляет базовые вазможности для работы с HTTP. Соединения HTTP идентифицируются переменными соответствующего типа, 'http'. У HTTP следующий жизненный цикл:

· открытие подключения к удалённому web-серверу
· установка метода запроса http
· добавление полей-заголовков запроса (необязательно)
· добавление данных в тело запроса (только в случае, если запрос имеет тип POST)
· отправка запроса и ожидание ответа от сервера
· получение желаемых полей-заголовков из ответа
· получение данных ответа
· закрытие соединения

Следующий пример демонстрирует возможности соединения по HTTP:

var conn: http;
htmlBody: string;
contentType: string;
begin
if not openHttp(conn, 'http://www.google.com') then halt;
setHttpMethod(conn, GET);
addHttpHeader(conn, 'User-agent', 'MIDletPascal browser');
if sendHttpMessage(conn) <> 200 then halt;
htmlBody := getHttpResponse(conn);
contentType := getHttpHeader(conn, 'Content-type');
closeHttp(conn);
end.

Встроенный эмулятор не поддерживает соединения по HTTP. Для тестирования HTTP без телефона рекомендуется использовать эмулятор Wireless Toolkit от Sun.