![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте! Столкнулся с некой проблемой, связанной с 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
|
|||
|
|||
![]() Попробовал использовать 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
|
|||
|
|||
![]() куда авторизуетесь? кого автуризуете?
Может ссылкочку на страницу дадите? А то "пойди туда, не знаю куда..." Да, и: Код:
http.UserName := 'login'; http.Password := 'password'; ![]() |
#4
|
|||
|
|||
![]() Примерно так это должно выглядеть:
PHP код:
|
#5
|
|||
|
|||
![]() Та же проблема. Некоторое время по отладкой дали понять, что Handled := true; делает авторизацию базовой. В случае Digest как бы и не должно работать. Единственное отличие между посылаемыми данными индями и браузера, это было явное указание алгоритма. В браузере заголовок с авторизацией не содержит информацию об алгоритме, а инди посылает кусок: algorithm="MD5",.
Это рождает предположение, что там другое шифрование, но какое - не понятно. |