Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> авторизация IdHTTPProxyServer, авторизация IdHTTPProxyServer 
:(
    Опции темы
grofast
Дата 21.8.2012, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.3.2008

Репутация: нет
Всего: нет



Добрый день.Помогите те кто знает.
Мне нужен самописный прокси сервер с авторизацией.
Я использую IdHTTPProxyServer.

В процедуре TForm1.IdHTTPProxyServer1Connect(AContext: TIdContext);

Пишу

  LHeaders := TIdHeaderList.Create(QuoteHTTP);
  AContext.Connection.IOHandler.Capture(LHeaders,'');
  Host:=LHeaders.Values['Host'];
  Avtorizacya:=LHeaders.Values['Authorization'];

   
//Также можно прочитать все заголовки строчками
//Zapros := AContext.Connection.IOHandler.ReadLn(enUTF8);



   //If EstAvtorizaciya Then
   If Avtorizacya='' Then
  Begin

   EstAvtorizaciya:=True;

        Otvet := 'HTTP/1.1 401 Unauthorized'#13#10 +
      'Server: squid/2.5.STABLE3'#13#10 + 'Mime-Version: 1.0'#13#10 +
          'Content-Type: text/html'#13#10 + 'Content-Length: 20'#13#10 +
          'WWW-Authenticate: Basic realm="Test"'#13#10 +
          'Connection: close'#13#10#13#10;

        AContext.Connection.IOHandler.WriteLn(Otvet, enUTF8);
        Abort;
        Exit;
      End;


Так вот у клиента выскакивает окошко вводишь пароль и он передает пароль базовой аутонтефикацией.


Я его проверяю и пропускаю клиента и дальше IdHTTPProxyServer должен выбать клиенту запрашиваемую страницу в виде html

Но он ничего не выдает как я понял я в IdHTTPProxyServer1Connect из сокета забираю заголовки и сокет остается пустой
дальше IdHTTPProxyServer пытается выполнить запрос а он пустой.И получается что выполнять не чего.



Первый вопрос возможно ли как то из сокета скопировать данные не забирая их?
Второй вопрос я правильно понимаю принцип авторизации или мне нужно по другому реализовывать авторизацию.


Есть еще вариант бросить на форму http клиента и его заставить вернуть код запрашиваемой страницы а потом передать ее браузеру но по моему это изврат.


Самый главный вопрос возможно ли как то из сокета скопировать данные не забирая их?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0907 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.