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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Indy, SSL, Authorization, не могу реализовать, ошибка 
:(
    Опции темы
MacTep
Дата 6.12.2012, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Добрый день!

Работаю с idHTTP. 
Хочу получить страничку по https:
Код

procedure TfrmMain.sBitBtn1Click(Sender: TObject);
var s: string;
    sl: TStringList;
begin
  try
    sl := TStringList.Create;

    HTTP.ReadTimeout := 0;
    s := http.Post('https://blablabla.ru/RequestDetail.jsp?REQUEST_ID=47508', sl);
    ShowMessage(s);
  finally
    sl.Free;
  end;
end;
Ошибка: HTTP/1.1 401 Unauthorized.
Никак не получается от нее избавиться, даже прописывая Username и Password в свойствах IdHTTP.Request. Как быть?

Это сообщение отредактировал(а) MacTep - 6.12.2012, 12:31


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Poseidon
Дата 6.12.2012, 16:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



А TIdSSLIOHandlerSocketOpenSSL прилепил к idHTTP.IOHandler ?

Добавлено через 1 минуту и 32 секунды
Так же еще надо libeay32.dll и ssleay32.dll кинуть (не знаю как сейчас, в XP надо было)


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
MacTep
Дата 6.12.2012, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Цитата(Poseidon @  6.12.2012,  16:44 Найти цитируемый пост)
А TIdSSLIOHandlerSocketOpenSSL прилепил к idHTTP.IOHandler ?

Добавлено через 1 минуту и 32 секунды
Так же еще надо libeay32.dll и ssleay32.dll кинуть (не знаю как сейчас, в XP надо было) 

Все сделано. Без этого бы вообще не работало. А так хоть ошибку адекватную выдает.


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Matematik
Дата 6.12.2012, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

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



Прикрути TIdLogEvent к IdHttp , посмотри что отправляет программа, также посмотри что отправляет обычный браузер и сравни.
PM MAIL WWW ICQ   Вверх
MacTep
Дата 7.12.2012, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Вот что LogEvent мне дает...
http://s2.ipicture.ru/uploads/20121207/Wk1SWUJK.png
Из этого что-то становится понятнее?


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
MacTep
Дата 7.12.2012, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Ничего не получается с NTLM аутентификацией...


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Coobick
Дата 8.12.2012, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 16.8.2010
Где: Владимир

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



Код

// -----------------------------------------------------------------------------
// Initialize an SSL Socket Handler. USE for SECURE HTTP.
SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
HTTP.IOHandler := SSLHandler;
SSLHandler.SSLOptions.Mode:= sslmClient;
SSLHandler.SSLOptions.Method := sslvSSLv3;
// -----------------------------------------------------------------------------

 s:= HTTP.Get('https://www..............');

 smile 
PM MAIL   Вверх
Akella
Дата 8.12.2012, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(Poseidon @  6.12.2012,  16:44 Найти цитируемый пост)
Так же еще надо libeay32.dll и ssleay32.dll кинуть (не знаю как сейчас, в XP надо было) 

в папку с программой

Добавлено через 55 секунд
Цитата(MacTep @  7.12.2012,  08:57 Найти цитируемый пост)
Вот что LogEvent мне дает...
http://s2.ipicture.ru/uploads/20121207/Wk1SWUJK.png
Из этого что-то становится понятнее? 


сохрани этот текст как html страничку и открой в браузере, будет более менее читабельно
PM MAIL   Вверх
MacTep
Дата 9.12.2012, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Цитата(Akella @  8.12.2012,  21:25 Найти цитируемый пост)
в папку с программой

Так и сделал... С этим порядок.


Цитата(Akella @  8.12.2012,  21:25 Найти цитируемый пост)
сохрани этот текст как html страничку и открой в браузере, будет более менее читабельно 

Да я думаю, проблем-то в общем-то никаких нет и так понятно, что NTLM аутентификация не проходит... Суть ясна. Не ясно, как с этим бороться, ребята.

Добавлено через 1 минуту и 57 секунд
Coobick, сомневаюсь, что получится. Отпишусь через часок.


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Akella
Дата 9.12.2012, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



MacTep, что отвечает жужель на запрос по тексту ошибки?

Добавлено через 1 минуту и 9 секунд
И вообще, тексты ошибок приучись предоставлять в виде обчного текста, а не картинок.
PM MAIL   Вверх
MacTep
Дата 10.12.2012, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Цитата(Akella @  9.12.2012,  21:36 Найти цитируемый пост)
MacTep, что отвечает жужель на запрос по тексту ошибки?

И чего он только не отвечает... Но я бы сюда не писал, если бы сам не поискал перед этим в жужеле...

Добавлено через 32 секунды
Цитата(Akella @  9.12.2012,  21:36 Найти цитируемый пост)
И вообще, тексты ошибок приучись предоставлять в виде обчного текста, а не картинок. 

Обязательно учту на будущее.


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
MacTep
Дата 10.12.2012, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Как я и думал, не заработало по методу, предложенному тов. Coobick.
Во вложении ошибка, переведенная по совету Akella в формат html.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  error.zip 0,88 Kb


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Akella
Дата 10.12.2012, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



тебе что, трудно было вот так сделать?

Цитата

HTTP/1.1 401 UnauthorizedContent-Type: text/htmlServer: Microsoft-IIS/7.0WWW-Authenticate: NTLMX-Powered-By: ASP.NETDate: Mon, 10 Dec 2012 11:21:50 GMTConnection: closeContent-Length: 1293
Server Error
401 - Unauthorized: Access is denied due to invalid credentials.
You do not have permission to view this directory or page using the credentials that you supplied.


текст ошибки я не просих выкладывать на форум в виде заархивирыванного html файла

Добавлено через 1 минуту и 19 секунд
Цитата(MacTep @  10.12.2012,  14:06 Найти цитируемый пост)
Обязательно учту на будущее. 

и не учёл
PM MAIL   Вверх
Coobick
Дата 11.12.2012, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 16.8.2010
Где: Владимир

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



Ну что то ты не то делаеш... вот. 100% рабочий пример* загрузки капчи для отправки СМС на Билайн.
Код

procedure TNavigate.Execute;
var
s, key:string;
SSLHandler : TIdSSLIOHandlerSocketOpenSSL;
begin
 HTTP:=TIdHTTP.Create(Application);
 HTTP.AllowCookies:=True;
 HTTP.HandleRedirects := true;
 HTTP.ProtocolVersion:= pv1_1;
 HTTP.Request.UserAgent:= 'Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0';
 HTTP.Request.Accept:= 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,text/vnd.wap.wml;q=0.6';
 HTTP.Request.AcceptCharSet:= 'windows-1251,utf-8;q=0.7,*;q=0.7';
 HTTP.Request.ContentType:= 'application/x-www-form-urlencoded';
 HTTP.ConnectTimeout:= 31000;
 HTTP.ReadTimeout:= 31000;
// -----------------------------------------------------------------------------
// Initialize an SSL Socket Handler. USE for SECURE HTTP.
SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
HTTP.IOHandler := SSLHandler;
SSLHandler.SSLOptions.Mode:= sslmClient;
SSLHandler.SSLOptions.Method := sslvSSLv3;
// -----------------------------------------------------------------------------
 try
 s:= HTTP.Get('https://www.beeline.ru/sms/index.wbp');   
 key:=Copy(s,Pos('afcode" value="',s)+1,Length(s)); 
 key:=Copy(key,1,Pos('">',key)-1);
 Delete(key, 1, 14); 
 codecap:=key;
 // ------------- Получаем капчу
 FMM:=TMemoryStream.Create; // выделение памяти под переменную
 HTTP.Request.Referer:='https://www.beeline.ru/sms/index.wbp';
 HTTP.Get('https://www.beeline.ru/mamimg.aspx', FMM);
 FMM.Position:=0;
 CAP:= TGIFImage.Create;
 CAP.LoadFromStream(FMM);
 Form1.Image1.Picture.Assign(CAP);
// -----------------------------------------------------------------------------
//Form1.Memo1.Lines.Add(HTTP.);
 except
 Form1.SpeedButton1.Enabled:=True;
 ShowMessage('Error');
  FreeAndNil(HTTP); FreeAndNil(FMM); FreeAndNil(CAP);
 end;
 Form1.SpeedButton1.Enabled:=True;
 if Assigned(HTTP) then FreeAndNil(HTTP);
 if Assigned(FMM) then FreeAndNil(FMM);
 if Assigned(CAP) then FreeAndNil(CAP);
end;


Процедура отправки в разы проще..
S:= HTTP.Post('https://www.beeline.ru/sms/index.wbp', Data);
Всего лиш HTTP.Post с нужными данными.. (HTTP:TIdHTTP; глобально.. хотя это уже от задачи зависит,мне так нужно было.)
PM MAIL   Вверх
MacTep
Дата 11.12.2012, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Цитата(Coobick @  11.12.2012,  05:46 Найти цитируемый пост)
вот. 100% рабочий пример* загрузки капчи для отправки СМС на Билайн.

Может быть дело в том, что в вашем примере не требуется авторизация? Нигде не вижу в коде, что вы ее производите.

Цитата(Akella @  10.12.2012,  16:53 Найти цитируемый пост)
и не учёл 

Ошибку не предоставил в виде картинки.


Цитата(Coobick @  11.12.2012,  05:46 Найти цитируемый пост)
Ну что то ты не то делаеш...

Очевидно. Вот только не могу понять, что именно...

Код

HTTP/1.1 401 UnauthorizedContent-Type: text/htmlServer: Microsoft-IIS/7.0WWW-Authenticate: NTLMX-Powered-By: ASP.NETDate: Mon, 10 Dec 2012 11:21:50 GMTConnection: closeContent-Length: 1293
Server Error
401 - Unauthorized: Access is denied due to invalid credentials.
You do not have permission to view this directory or page using the credentials that you supplied.
Не могу найти решение данной проблемы...


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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