Авторизация на сайте , подскажите

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by by_nikita, 18 Oct 2012.

  1. by_nikita

    by_nikita Member

    Joined:
    1 Dec 2010
    Messages:
    46
    Likes Received:
    11
    Reputations:
    5
    Авторизация на сайте , подскажите (DELPHI)

    Доброго времени суток , начал снова изучать делфи , но
    столкнулся с проблемой . Надо авторизоваться на
    сайте , пост запрос , но данных о кнопке входа мало вот они
    <input type="image" src="/web/enter-44554646.jpg">
    подскажите как сделать клик по этой кнопке .
     
    #1 by_nikita, 18 Oct 2012
    Last edited: 18 Oct 2012
  2. al1as

    al1as New Member

    Joined:
    27 May 2012
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Проснифай запрос..
     
  3. by_nikita

    by_nikita Member

    Joined:
    1 Dec 2010
    Messages:
    46
    Likes Received:
    11
    Reputations:
    5
    тогда я потеряю заполненные формы . И просто запрос переводит на картинку а мне нужны с данными . А пост запрос ввод , логина ,пароля , + кнопка войти . А она не как не обозначается . Что еще можно сделать ?
     
  4. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Всмысле? Сниферы не влияют на данные, передаваеммые браузером.
     
  5. by_nikita

    by_nikita Member

    Joined:
    1 Dec 2010
    Messages:
    46
    Likes Received:
    11
    Reputations:
    5
    причем сниффер то тут ? если просто запрос подам то толку не будет , мне нужен подать с пост запросе как то указать эту кнопку .
     
  6. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Похоже мы немного не понимаем друг друга. Я предлагаю отснифать запрос, генерируеммый браузером, и имитировать его из программы. А имя кнопки(если речь о нем) можно прямо с полученой страницы выдрать.
     
  7. by_nikita

    by_nikita Member

    Joined:
    1 Dec 2010
    Messages:
    46
    Likes Received:
    11
    Reputations:
    5
    попробовал , не идет . Точней проходит авторизация и выкидывает сразу же редиктом на начальную страницу
     
    #7 by_nikita, 18 Oct 2012
    Last edited: 18 Oct 2012
  8. obj

    obj New Member

    Joined:
    1 Mar 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    куки получить и после послать опять, пробовали?
     
  9. SaiRus

    SaiRus Elder - Старейшина

    Joined:
    24 Nov 2008
    Messages:
    369
    Likes Received:
    41
    Reputations:
    0
    При чем тут кнопка? Тебе нужен запрос Post/Get.

    Авторизовался удачно, держи "сессию" (всмысле httpclient'a не null'и) или храни куки и подсовывавай клиенту при каждом запросе.
     
  10. edgar_tes

    edgar_tes New Member

    Joined:
    19 Jul 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Добав TIdCookieManager
     
  11. Sharp.Net

    Sharp.Net New Member

    Joined:
    28 Jul 2012
    Messages:
    39
    Likes Received:
    3
    Reputations:
    1
    Уважаемый, нужно не на кнопку жать, а отправлять http запрос к ОБРАБОТЧИКУ.
    т.е например форма может на form.php быть, а сам обработчик на obr.php. И вот данные нужно отправлять на обработчик.

    Про POST и GET запросы почитай
     
  12. by_nikita

    by_nikita Member

    Joined:
    1 Dec 2010
    Messages:
    46
    Likes Received:
    11
    Reputations:
    5
    Code:
    var
    a: TStringList;
    b: string;
    begin
    IdHTTP1.AllowCookies:=true;
    IdHTTP1.HandleRedirects:=true;
    a:= TStringList.Create;
    a.Add('advname='+Edit1.Text);
    a.Add('advpas='+Edit2.Text);
    a.Add('submit=');
    b:= IdHTTP1.Post('http://jettys.net/auth.php',a);
    if Pos('exit.php',b) <> 0 then
    ShowMessage('1')
    else
    ShowMessage('2');
    end;
    подскажите что не так .
     
  13. 2echnoman

    2echnoman New Member

    Joined:
    3 Jul 2012
    Messages:
    54
    Likes Received:
    0
    Reputations:
    0
    Сниффер используй. И ты увидешь, как отправляются данные авторизации:
    [​IMG]
    Короче отправляемые данные нужно пихать не Tstringlist, а в
    TIdMultiPartFormDataStream.