Как отправить HTTP серверу логин и пароль по Wininet?

Тема в разделе "WASM.NETWORKS", создана пользователем Booster, 18 июн 2005.

  1. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Вообщем сабж.

    Нужно скачать страницу. Но она доступна только через форму доступа.
    Код (Text):
    1. <FORM action=list-directories.php method=post>
    2. <P>Код РСЦ<BR><INPUT size=40 name=f_id></P><P>Пароль<BR>
    3. <INPUT type=password size=40 name=f_pass></P>
    4. <INPUT type=submit value=Отправить>
    5. <INPUT type=reset value=Очистить></FORM>




    Подскажите как нужно отправить запрос с помощью Wininet, чтобы получить доступ к закрытым страницам?



    P.S В гугле так и не нашёл ничего конкретного.
     
  2. Sickle

    Sickle New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2003
    Сообщения:
    181
    InternetOpenUrl

    в качестве url укажи list-directories.php?f_pass=пароль
     
  3. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Что-то не выходит. Юзую HttpOpenRequest, передавая в третьем параметре:
    Код (Text):
    1. list-directories.php?f_id=имя&f_pass=пароль


    Страница грузится, но пишет что всё равно надо передать данные. Что же делаю не так? И ещё можно как-нибудь отмониторить что в действительности отсылается на сервер?
     
  4. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia




    вот поэтому и не работает.

    попробуй с помощью HttpAddRequestHeaders передать дополнительные заголовки типа



    f_id: your_name <CR><LF>

    f_pass: your_pass <CR><LF>





    Любым сниффером можно. Для твоих целей вполне подойдет HttpWatch.
     
  5. Sickle

    Sickle New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2003
    Сообщения:
    181
    method=post

    ну да... HttpSendRequest юзай
     
  6. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    2Sickle





    Если я правильно понимаю HttpOpenRequest - создаёт запрос, а HttpSendRequest - его отправляет. Post или Get - указывается во втором параметре HttpOpenRequest. Указывал и Post и Get, результат один - "введите пароль".



    2flankerx





    Но ведь в HttpSendRequest в первых двух параметрах тоже можно передавать дополнительную инфу о заголовках, но не помогает. Или всё же надо юзать именно HttpAddRequestHeaders?



    Да и ещё, работаю через проксю.



    З.Ы. Может у кого есть кусок кода с подобным или линк?
     
  7. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    Booster

    codeproject.com

    или что- то подобное

    могу запостить тебе на дельфе код



    но совет , разберись сам

    1) ставишь proxomitron

    2) смотришь что Ie отправляет в post data



    3) смотришь , что отправляется, когда ты делаешь то же в программе

    4) сравниваешь

    5) исправляешь свою программу

    6) if (ie.result!=your.result) goto 3

    7) бежишь продавать полученный код за бабки

    8) пропиваешь бабки с друзьями

    :derisive:

    p.s. для начала проверь Content-Length: