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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2010, 01:04   #1
SLASH_CyberPunk
Пользователь
 
Аватар для SLASH_CyberPunk
 
Регистрация: 15.07.2008
Сообщений: 12
По умолчанию Авторизация на прокси через IdHTTP

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CheckProxy;
  PostString := TStringList.Create;
  PostString.Add('gid='+User.Login);
  PostString.Add('pass='+User.Password);
  HTML.All := IdHTTP1.Post(uri+'/?page=enter',PostString);
  PostString.Free;
end;

procedure TForm1.CheckProxy;
begin
  if Setting.UseProxy then
  begin
    IdHTTP1.ProxyParams.ProxyServer := Proxy.Server;
    IdHTTP1.ProxyParams.ProxyPort := Proxy.Port;
    if Setting.UseProxyAut then
    begin
      IdHTTP1.ProxyParams.BasicAuthentication := Setting.UseProxyAut;
      IdHTTP1.ProxyParams.ProxyUsername := Proxy.Login;
      IdHTTP1.ProxyParams.ProxyPassword := Proxy.Password;
    end
    else
    begin
      IdHTTP1.ProxyParams.BasicAuthentication := False;
      IdHTTP1.ProxyParams.ProxyUsername := '';
      IdHTTP1.ProxyParams.ProxyPassword := '';
    end;
  end
  else
  begin
    IdHTTP1.ProxyParams.ProxyServer := '';
    IdHTTP1.ProxyParams.ProxyPort := 0;
    IdHTTP1.ProxyParams.BasicAuthentication := False;
    IdHTTP1.ProxyParams.ProxyUsername := '';
    IdHTTP1.ProxyParams.ProxyPassword := '';
  end;
end;
Предисловие
Пытаюсь авторизоваться на своем HTTP-прокси, точно знаю, что авторизуюсь. Разобрался и с оптимизацией при компилирование, чтобы переменные заработали при повторном обращению в процедуру.

Суть вопроса: если первоначально коннектиться без авторизации - выходит ошибка 407 (что логично), когда же включаю авторизацию, то ошибка авторизации все равно появляется, хотя в переменные все приходит корректно, после перезапуска программа авторизуется нормально. Как можно решить данную проблему?
SLASH_CyberPunk вне форума Ответить с цитированием
Старый 26.12.2010, 22:46   #2
SLASH_CyberPunk
Пользователь
 
Аватар для SLASH_CyberPunk
 
Регистрация: 15.07.2008
Сообщений: 12
По умолчанию

Решил проблему созданием компонента IdHTTP перед коннектом и в процедуру CheckProxy пришлось вписать полное объявление переменных для IdHTTP

Код:
  PostString := TStringList.Create;
  PostString.Add('gid='+User.Login);
  PostString.Add('pass='+User.Password);
  IdHTTP1 := TIdHTTP.Create(nil);
  CheckProxy;
  HTML.All := IdHTTP1.Post(uri+'/?page=enter',PostString);
  PostString.Free;
SLASH_CyberPunk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация через idHTTP (indy) на WordPress MyIE Работа с сетью в Delphi 5 02.05.2010 14:22
IdHTTP и Socks4/5 прокси AquaKlaster Работа с сетью в Delphi 2 09.11.2009 00:20
Работа IdHttp через прокси TilerDerton Работа с сетью в Delphi 2 27.05.2009 00:14
Авторизация через Idhttp xakkkkker Работа с сетью в Delphi 1 08.02.2009 17:10
Прокси в IdHTTP AVer Работа с сетью в Delphi 0 10.10.2008 20:30