HTTP.GetHTTPErrorInfo

table HTTP.GetHTTPErrorInfo ( )
Примеры

Описание

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

Параметры

Нет.

Возврат

ResultVariable

(таблица) Таблица, содержащая информацию об ошибке HTTP, индексированная следующими ключами:

КЛЮЧ
KEY
ТИП
TYPE
ОПИСАНИЕ
DESCRIPTION
NumberчислоКод ошибки WinInet.
MessageстрокаСтрока ошибки связанная с кодом ошибки WinInet.
Statusчисло Код состояния HTTP связанный с последней ошибкой. Коды состояния разделены на следующие группы:

КОД
CODE
ОПИСАНИЕ
DESCRIPTION
200-299Успех (Success)
300-399Информация (Information)
400-499Ошибка запроса (Request error)
500-599Ошибка сервера (Server error)

Некоторые общие коды состояния HTTP:

КОД
CODE
ОПИСАНИЕ
DESCRIPTION
200URL-адрес определен, идет передача (URL located, transmission follows)
400Непонятный запрос (Unintelligible request)
404Запрашиваемый URL-адрес не был найден (Requested URL not found)
405Сервер не поддерживает запрошенный метод (Server does not support requested method)
500Неизвестная ошибка сервера (Unknown server error)
503Пропускная способность сервера достигла предела (Server capacity reached)

Примечание: Поля Number и Message в таблице обычно сообщают, что сама по себе транзакция прошла успешно например, соответствующие параметры были приняты, интернет-соединение существует и информация действительно была отправлена на сервер. Поле Status содержит информацию об общем состоянии операции на стороне сервера, такую как понял ли сервер запрос и способен ли он в действительности обработать запрашиваемый файл.

Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия

Примеры

Пример 1

ErrInfo = HTTP.GetHTTPErrorInfo();
Получаем информацию о последней HTTP ошибке и сохраняем её в таблице ErrInfo.

Пример 2

HTTP.Download("http://www.asitehere.com/file.ext", "c:\\file.ext",MODE_BINARY, 20, 80, nil, nil, nil);

if (Application.GetLastError() ~= 0) then
    -- An Error Occurred
    -- Происходит ошибка
    HTTP_Error = HTTP.GetHTTPErrorInfo();
    Dialog.Message("HTTP error " .. HTTP_Error.Number, HTTP_Error.Message);
end
Загружаем файл. Если возращаемая информация об ошибке является чем-то другим нежели успех, показываем дополнительную информацию об ошибке HTTP.

Пример 3

HTTP.Download("http://www.asitehere.com/file.ext", "c:\\file.ext", MODE_BINARY, 20, 80, nil, nil, nil);

local http_error = HTTP.GetHTTPErrorInfo();

if (http_error.Status < 200 or http_error.Status > 299) then

    -- Show two dialogs containing the HTTP error info
    -- Показываем два диалоговых окна, с одержащих информацию об HTTP ошибке
    Dialog.Message("Error Info", "HTTP Download Error Info: " .. http_error.Number .. " - " .. http_error.Message);
    Dialog.Message("Error Info", "HTTP Download Server Status: " .. http_error.Status);
end
Загружаем файл. Если состояние сервера показывает что произошла ошибка, показываем пару диалоговых окон сообщений.
Смотрите также: Связанные действия