Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2009, 18:35   #1
Des
Форумчанин
 
Регистрация: 12.11.2008
Сообщений: 124
По умолчанию Что такое MaxAuthRetries в TidHTTP

Собственно сам сабж.
Des вне форума Ответить с цитированием
Старый 25.05.2009, 01:00   #2
XAOC-forever
Пользователь
 
Регистрация: 10.04.2008
Сообщений: 47
По умолчанию

Переводчиком пользоваться не умеем ?
Maximal Authorization Retries
XAOC-forever вне форума Ответить с цитированием
Старый 25.05.2009, 01:16   #3
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

"Максимальное количество повторений авторизации"
А зачем этот параметр? Простой перевод не объесняет преднозначения.
К сожалению страница с объеснением что-то не грузится.
Виталий Серов вне форума Ответить с цитированием
Старый 25.05.2009, 02:15   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

грузится она, просто при быстром инете она сразу перескакивает на иную...
вот текст с нее:
Цитата:
Maximum number of authentication requests allowed for the client connection.
Pascal
property MaxAuthRetries: Integer;
Description

MaxAuthRetries is an Integer property that represents the maximum number of retries permitted when performing authentication for the TIdHTTP client connection.

MaxAuthRetries is used when an HTTP protocol handler for the client connection attempts to process a protocol response code that indicates authentication or proxy authentication is required (401 or 407).

MaxAuthRetries is compared to the current number of authentication requests issued in AuthRetries (or AuthProxyRetries) to determine if additional authentication requests are allowed. When permitted, the request is performed using the OnAuthorization event handler.

The default value for MaxAuthRetries is Id_TIdHTTP_MaxAuthRetries as assigned during initialization of the component instance.
в общем вот вам
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.05.2009, 10:00   #5
Des
Форумчанин
 
Регистрация: 12.11.2008
Сообщений: 124
По умолчанию

Интересно как Инди понимает что я пытаюсь авторизоваться по тому как приходят исключения 401 и 407? К примеру значение равно трем, если после первой попытки приходит 401, TidHTTP начинает повторно ломиться еще 2 раза? Нет. Остается вариант что мы начинаем инициализировать те 2 раза, после чего, если они были так же ошибочными, то Indy дает нам исключение в видео сообщения о том что мы исчерпали свои три желания?
Des вне форума Ответить с цитированием
Старый 25.05.2009, 10:18   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

А посмотреть ?
Код:
function TIdCustomHTTP.DoOnAuthorization(ARequest: TIdHTTPRequest; AResponse: TIdHTTPResponse): Boolean;
var
  i: Integer;
  S: string;
  Auth: TIdAuthenticationClass;
begin
  Inc(FAuthRetries);
......
Код:
procedure TIdCustomHTTP.DoRequest(const AMethod: TIdHTTPMethod;
  AURL: string; ASource, AResponseContent: TStream;
  AIgnoreReplies: array of SmallInt);
........
  //reset any counters
  FRedirectCount := 0;
  FAuthRetries := 0;
..............
Код:
function TIdHTTPProtocol.ProcessResponse(AIgnoreReplies: array of SmallInt): TIdHTTPWhatsNext;
..........
if LResponseDigit <> 2 then
    begin
      case LResponseCode of
        401:
          begin // HTTP Server authorization required
            if (FHTTP.AuthRetries >= FHTTP.MaxAuthRetries) or
               (not FHTTP.DoOnAuthorization(Request, Response)) then
            begin
              if Assigned(Request.Authentication) then begin
                Request.Authentication.Reset;
              end;
              CheckException(LResponseCode, AIgnoreReplies);
              Result := wnJustExit;
              Exit;
            end else begin
              LNeedAuth := hoInProcessAuth in FHTTP.HTTPOptions;
            end;
          end;
        407:
          begin // Proxy Server authorization requered
            if (FHTTP.AuthProxyRetries >= FHTTP.MaxAuthRetries) or
               (not FHTTP.DoOnProxyAuthorization(Request, Response)) then
            begin
              if Assigned(FHTTP.ProxyParams.Authentication) then begin
                FHTTP.ProxyParams.Authentication.Reset;
              end;
              CheckException(LResponseCode, AIgnoreReplies);
              Result := wnJustExit;
              Exit;
            end else begin
              LNeedAuth := hoInProcessAuth in FHTTP.HTTPOptions;
            end;
          end;
Остально происходит в актуальном для конретной задачи классе ссылки TIdAuthenticationClass
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое SMTP? Titan123 Свободное общение 5 18.06.2011 15:57
Что такое множество? ZhekON Помощь студентам 3 07.04.2008 20:22
Что такое Hook? AngelOfDeath Общие вопросы Delphi 1 07.04.2008 15:14
то такое мастерство в программировании, что такое мастер программист и что он может? Cezar Свободное общение 29 02.06.2007 23:48
Что такое - Класс Умелец Свободное общение 1 04.04.2007 14:01