MIDlet Pascal
Поиск по сайту
Форма входа

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Яндекс.Метрика

Друзья сайта
IT юмор - развлечения
Заработать в интернете - легко!Просто сиди и кликай.
Четверг, 15.11.2018, 01.25.26
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход
Урок №13 "Работа с интернетом"
Здравствуйте, в этом уроке Вы нвучитесь работать с интернетом.
С интернетом работать очень просто.Для начала нужно создать переменную типа http, а теперь попробуем соединиться с помощью функции OpenHttp(conn:http, site:string):boolean, где site - это адрес сайта или файла нанём или проще ссылка.
Теперь выберим метод отправки данных (с методом POST MIDlet PAscal неочень работает) с помощью процедуры SetHttpMethod(conn:http, GET); где GET - это стандартная константа, ещё есть HEAD и POSTТеперь назовём своё приложение с помощью процедуры AddHttpHeader(conn:http, name, value :stirng); Вставляет заголовок в запрос http. Например, чтобы добавить заголовок "Accept-encoding: gzip, none", вызовите функцию со значением "Accept-encoding" у параметра name и значением "gzip, none" у параметра value.
проверяем соедирнение с сайтом с помощью функции SendHttpMessage(conn:http):integer, функция выдаст код ошибки, если код = 200 значит всё хорошо.Список кодов:
  Код  Условное
обозначение
  
  Значение
100ContinueКлиент должен продолжить свой запрос
101Switching ProtocolsСервер переключает протокол по требованию клиента, указанному в поле Upgrade.
200OKЗапрос был успешно выполнен, возвращаемая информация зависит от метода указанного клиентом.
201CreatedЗапрос был выполнен, в результате чего был создан новый ресурс. Его расположение возвращается в поле Location.
202AcceptedЗапрос принят, но его обработка не закончена. Фактически запрос может и не выполниться.
203Non-Authoritative InformationВозвращаемая в заголовке информация не оригинал, а взята у третьей стороны.
204No ContentСервер выполнил запрос, но из-за отсутствия информации возвращает лишь код статуса и заголовок.
205Reset ContentЗапрос выполнен и клиентская программа (браузер) должна очистить документ (форму) инициирующую запрос.
206Partial ContentСервер возвращает лишь часть документа затребованного объема.
300Multiple ChoicesЗапрошенный URL имеет несколько представлений. В качестве такого множества может выступать разбиение по языкам. В заголовке возвращаемого ответа сервером может содержаться информация, конкретизирующая запрос.
301Moved PermanentlyЗапрошенный ресурс перенесен на другой постоянный URI, указанный в поле Location.
302Moved TemporarilyДокумент, указанный в запросе временно перенесен на другой URI, указанный в поле Location.
303See OtherЗапрашиваемый URL может быть найден под другим адресом, его следует запрашивать методом GET.
304Not ModifiedЭто ответ сервера на условный запрос с полем If-Modified-Since, означающий, документ не изменялся и клиент должен использовать локальную версию документа.
305Use ProxyОбращение к запрошенному ресурсу должно производиться через прокси-сервер, указанный в поле Location.
400Bad RequestЗапрос содержит синтаксическую ошибку. Клиенту следует исправить запрос.
401UnauthorizedЗапрос подразумевает подтверждение подлинности клиента. Требуется повторить запрос с полем Authorization.
402Payment RequiredЗарезервированный, еще не используемый в HTTP код.
403ForbiddenСервер принял запрос, но отказывается на него отвечать. Возможно, имеется нарушение прав доступа.
404Not FoundДокумент по данному URL не найден.
405Method Not AllowedМетод для данного запрашиваемого ресурса не дозволен. Сервером также возвращается список разрешенных методов в поле Allow.
406Not AcceptableДокумент по данному адресу существует, однако формат ресурса не соответствует запрашиваемому клиентом.
407Proxy Authentication RequiredУказывает на то, что пользователь должен сначала подтвердить свою подлинность прокси-серверу.
408Request Time-outИстекло время ожидания сервера, при котором клиент мог завершить запрос. Требуется снова произвести подключение.
409ConflictЗапрос не может быть выполнен вследствие конфликта с текущим состоянием документа. Сервер также в заголовке возвращает информацию о причине конфликтной ситуации.
410GoneТребуемый ресурс удален с сервера и не может быть предоставлен.
411Length RequiredСервер отказал в ↔ Урок №13 → обработке ресурса из-за отсутствия в заголовке запроса поля Content-Length определяющее длину документа.
412Precondition FailedУсловия, указанные клиентом в заголовке запроса, оказались ложными.
413Request Entity Too LargeПричина отказа сервера в данном случае - достаточно большой объект запроса. Если это положение временно, то в заголовки ответа включается поле Retry-After.
414Request-URL Too LongСервер выдает отказ вследствие большой длины в адресе указанного ресурса.
415Unsupported Media TypeСервер отказывается обработать запрос из-за формата объекта запроса, тип которого не поддерживается ресурсом для запрашиваемого метода.
500Internal Server ErrorНа сервере возникла внутренняя ошибка, не позволяющая ему выполнить запрос.
501Not ImplementedМетоды, указанные клиентом, не поддерживаются сервером для любого ресурса.
502Bad GatewayСервер получил недопустимые сведения от другого сервера, при попытке осуществить запрос клиента.
503Service UnavailableВременно нет возможности обработать запрос, при этом в заголовке возможно указание времени возобновления функционирования сервера.
504Gateway Time-outСервер не дождался ответа от другого сервера при попытке обеспечить выполнения запроса.
505HTTP Version not supportedНе поддерживается версия протокола HTTP, указанная в запросе клиента.

Теперь считываем код страницы полученной программой с помощью функции GetHttpResponse(conn:http):string. и закрыт соединение с помощью процедуры CloseHttp(conn:http)
Теорию прошли, пора переходить к кодингу.

var conn:http;  //Создадим нужные нам переменные
    s:string;
    i:integer;
begin
 ShowForm;
 if not OpenHttp(conn, 'http://midletpascal.at.ua') then s:='Ошибка соединения'; //соединяемся с сервером
 if s<>'' then i:=FormAddString(s); //если была ошибка - выводим
 s:='';//обнуляем ошибку
 SetHttpMethod(conn, GET); //выбираем тип передачи данных
 AddHttpHeader(conn, 'User-agent', 'MIDletPascal browser'); //Называем свой браузер
 i:=SendHttpMessage(conn); //считываем код соединения
 if i <> 200 then s:='Ошибка №'+i; //Если была ошибка значит выводим об этом сообщение
 //если была ошибка - выводим иначе считываем ответ сервера
 if s<>'' then i:=FormAddString(s) else s:= GetHttpResponse(conn);
 i:=FormAddString(s); //выводим код html страницы
 Delay(10000); //подождё пока показывает на экране
end.

 Ну вот отлично...Вы получили код главной страницы этого сайта :)
Поздравляю.А вот что делать с кодом и как его обрабатывать, это уже Ваше дело.
Поздравляем вы прошли этот урок.

P.S. Вот так вот сайт розвивает не только MIDlet Pascal :)

← Урок №12Урок №14 →
Если вы нашли ошибки/очепятки в тексте то сообщите о них на форуме
А также можете заказать программу/игру на этой странице

www.parkflyer.ru - радиоуправляемые модели, радиоуправляемые модели самолетов, магазин радиоуправляемых моделей
Роспись стен, скульптуры на заказ
Wladymyr © 2012-2018
Создать бесплатный сайт с uCoz