![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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",.
Это рождает предположение, что там другое шифрование, но какое - не понятно. |