@libera

Post запрос не удается?

var
LoginData, Response: TStrings;
begin
LoginData := TStringList.Create;
Response := TStringList.Create;
Response.Text := idhtp1.Post('http://www.сайт.ru/vop/en/members/login.aspx?id=15',LoginData);
idhtp1.HandleRedirects:=true;
idhtp1.RedirectMaximum:=1;
LoginData.Add('TextBox1=пороль');
LoginData.Add('TextBox2=логин');
LoginData.Add('__VIEWSTATE=/wEPDwUJLTI0MTE1Nzg3D2QWBAIBD2QWAgIHDw8WAh4HVmlzaWJsZWhkZAIDDw8WAh4EVGV4dGVkZGR2NFVBFeEeY71EBQHL03G6jJXuxQ==');
LoginData.Add('__VIEWSTATEGENERATOR=261583EA');
LoginData.Add('__EVENTVALIDATION=/wEWBAL/+amRAgLs0bLrBgLs0fbZDAKM54rGBnsveKYDayDMIAFMQZrF5+2kIAdA');
LoginData.Add('Button1=submit');
if Pos ('logout',Response.Text)<> 0 then
lbl1.Caption :=  'Успешная авторизация'
else
lbl1.Caption:= 'Авторизация не удалась' ;
end;

При этом не пишет авторизация не удалась.
Если убрать idhtp1.RedirectMaximum:=1;
То ошибка http 405
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ответы на вопрос 1
ORTOL
@ORTOL
Delphi
Здравствуйте.

LoginData.Add('__VIEWSTATE=/wEPDwUJLTI0MTE1Nzg3D2QWBAIBD2QWAgIHDw8WAh4HVmlzaWJsZWhkZAIDDw8WAh4EVGV4dGVkZGR2NFVBFeEeY71EBQHL03G6jJXuxQ==');
LoginData.Add('__VIEWSTATEGENERATOR=261583EA');
LoginData.Add('__EVENTVALIDATION=/wEWBAL/+amRAgLs0bLrBgLs0fbZDAKM54rGBnsveKYDayDMIAFMQZrF5+2kIAdA');

Вот эти строчки мне НЕ нравятся ... Что то мне подсказывает что значения в них являются динамическими. Если вы пытаетесь зарегистрироваться только с помощью этого алгоритма то вы не правы. Обычно такие операции проводят в 2 счёта ...

Счёт номер 1. Вы должны программно пройтись по ссылке страницы регистрации, тем самым записав в переменные динамические значения (сессии, токены, кукисы) и.т.д. короче та динамическая информация которая вам нужна для регистрации.

Счёт номер 2. А уже потом выполнять выше стоящий код НО уже вписав туда значения переменных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы