Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.11.2011, 19:56
cyberexpert cyberexpert вне форума
Прохожий
 
Регистрация: 10.07.2009
Сообщения: 20
Репутация: 10
Восклицание Проблема с HTTP авторизацией в Indy (Tidhttp)

Здравствуйте! Столкнулся с некой проблемой, связанной с HTTP авторизацией, используя tidhttp. Привожу код:

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  PostData: TStringList;
  Response: TStringStream;
begin
  Response := TStringStream.Create('');
  PostData := TStringList.Create;

  try
    IdHTTP1.Post(Edit1.Text, PostData, Response);
    Memo1.Lines.Text := Response.DataString;
  finally
    Response.Free;
    PostData.Free;
    IdHTTP1.Disconnect;
  end;
end;

procedure TForm1.IdHTTP1Authorization(Sender: TObject;
  Authentication: TIdAuthentication; var Handled: Boolean);
begin
  Handled := true;
  Authentication.Username := 'login';
  Authentication.Password := 'password';
end;

В результате авторизации не происходит. IdHttp мне возвращает "401 Unauthorized". Пожалуйста, помогите найти ошибку!

Быть может я забыл учесть еще какие-либо моменты? Очень жду ваших ответов!
Ответить с цитированием
  #2  
Старый 17.11.2011, 20:57
cyberexpert cyberexpert вне форума
Прохожий
 
Регистрация: 10.07.2009
Сообщения: 20
Репутация: 10
По умолчанию

Попробовал использовать synapse. Результат такой же. Видимо я что-то действительно не учел. Привожу код synapse:

Код:
  http := THTTPSend.Create;
  http.UserName := 'login';
  http.Password := 'password';
  http.Document.Write(pointer(postdata)^, length(postdata));
  http.HTTPMethod('POST', 'http://????');
  ShowMessage(http.ResultString);
  http.Free;

В итоге showmessage показывает "Unauthorized". Что делать?
Ответить с цитированием
  #3  
Старый 28.11.2011, 09:27
Mifody Mifody вне форума
Прохожий
 
Регистрация: 15.12.2010
Сообщения: 25
Репутация: 10
По умолчанию

куда авторизуетесь? кого автуризуете?
Может ссылкочку на страницу дадите? А то "пойди туда, не знаю куда..."
Да, и:
Код:
  http.UserName := 'login';
  http.Password := 'password';
Помнится мне, это basic авторизация, не работает практически нигде
Ответить с цитированием
  #4  
Старый 28.11.2011, 10:40
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Примерно так это должно выглядеть:
PHP код:
HTTPSend:= THTTPSend.Create;
  
stream:= TStringStream.Create;
  
stream.WriteString('login='+login+'&password='+password);
  
HTTPSend.Document.LoadFromStream(stream);
  
stream.Clear;
  
HTTPSend.HTTPMethod('post''http/www.delphisources.ru');
  
HTTPSend.Document.SaveToStream(stream);
  
Memo1.Lines.Add(stream.DataString); 
Анализируй отправляемые запросы, Header'ы и прочее, а не просто ввел куда попало login и password и все уже авторизоваться собрался.
Ответить с цитированием
  #5  
Старый 24.07.2012, 16:06
Lem0nti Lem0nti вне форума
Прохожий
 
Регистрация: 24.07.2012
Сообщения: 1
Репутация: 10
По умолчанию

Та же проблема. Некоторое время по отладкой дали понять, что Handled := true; делает авторизацию базовой. В случае Digest как бы и не должно работать. Единственное отличие между посылаемыми данными индями и браузера, это было явное указание алгоритма. В браузере заголовок с авторизацией не содержит информацию об алгоритме, а инди посылает кусок: algorithm="MD5",.
Это рождает предположение, что там другое шифрование, но какое - не понятно.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter