Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2012, 11:44   #1
tauxxx
 
Регистрация: 25.05.2012
Сообщений: 3
По умолчанию idhttp ssl авторизация отправка данных post

Здравствуйте, форумчане. Прошу помочь. Есть сайт aspx с авторизацией на сервере + ssl. Перекурил пару дней в google, теперь с помощью idhttp и dll научились заходить и авторизовываться. Следующий шаг - заполнение формы и отправка. Вот тут беда. Курю уже третий день смотрю все варианты вплоть до громоздкого twebbrowser.

Код:
http.Request.Host := '2an.ru';
  http.Request.AcceptLanguage := 'ru-RU';
  http.Request.Accept := '*/*';
  http.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; MRSPUTNIK 2, 4, 0, 463; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.1; .NET4.0C; .NET4.0E; BRI/2)';
  http.Request.AcceptEncoding := 'gzip, deflate';
  http.Request.Connection := 'Keep-Alive';
  http.Request.UserName := 'login';
  http.Request.Password := 'parol';
  http.Request.Referer := ('https://2an.ru/new_order.aspx');
  memo1.Text:=http.get('https://2an.ru/new_order.aspx');
Код выше возвращает страницу с нужной формой для дальнейшей отправки данных, которые я посылаю через post

Код:
data.Add('ctl00$CPHWorkSpace$txtFirstname=Йоко');
  data.Add('ctl00$CPHWorkSpace$txtSecondname=Онно');
  data.Add('ctl00$CPHWorkSpace$txtMiddlename=Гамбридеалович');
  data.Add('ctl00$CPHWorkSpace$lstPass_type_id=2');
  data.Add('ctl00$CPHWorkSpace$lstPerson_type_id=2');
  data.Add('ctl00$CPHWorkSpace$txtEmail=pskgeostroy@mail.ru');
  data.Add('ctl00$CPHWorkSpace$txtPhone=89264000925');
  data.Add('ctl00$CPHWorkSpace$btnOK=onclick');

  memo1.Text:=http.post('https://2an.ru/new_order.aspx',data);
сохраненный из memo текст показывает в браузере страницу с пустой формой. Данные не отправляются.

Код HTML:
<table id="table1" cellpadding="2" class="styleTable" cellspacing="3">
        <tr>
            <td class="styleLabelCol">
                Фамилия
                <span id="CPHWorkSpace_lblFirstnameNeeded" style="color:Red;">*</span>:
            </td>
            <td class="styleEditCol">
                <input name="ctl00$CPHWorkSpace$txtFirstname" type="text" maxlength="50" id="CPHWorkSpace_txtFirstname" class="styleEdit" size="59" />
                <span id="CPHWorkSpace_vldFirstname" style="display:none;">*</span>
            </td>
        </tr>
        <tr>
            <td class="styleLabelCol">
                Имя
                <span id="CPHWorkSpace_lblSecondnameNeeded" style="color:Red;">*</span>
                :
            </td>
            <td class="styleEditCol">
                <input name="ctl00$CPHWorkSpace$txtSecondname" type="text" maxlength="50" id="CPHWorkSpace_txtSecondname" class="styleEdit" size="59" />
                <span id="CPHWorkSpace_vldSecondname" style="display:none;">*</span>
            </td>
        </tr>
        <tr>
            <td class="styleLabelCol">
                Отчество
                <span id="CPHWorkSpace_lblMiddlenameNeeded" style="color:Red;">*</span>
                :
            </td>
            <td class="styleEditCol">
                <input name="ctl00$CPHWorkSpace$txtMiddlename" type="text" maxlength="50" id="CPHWorkSpace_txtMiddlename" class="styleEdit" size="59" />
                <span id="CPHWorkSpace_vldMiddlename" style="display:none;">*</span>
            </td>
        </tr>
        <tr>
            <td class="styleLabelCol">
Это часть форма которую я заполняю. (ограничение 5000 символов)
Буду благодарен как за любую направляющую информацию.
tauxxx вне форума Ответить с цитированием
Старый 30.05.2012, 13:45   #2
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

ох, блин, ASP...
посмотрите в снифере что браузер шлет, там наверняка еще три параметра казмеров эдак в килобайт (а то и больше) текста. Просто сталкивался с APS, там был такой хэш. Если искат в исходном тексте страницы, гдет в начале, один из параметров, кажись, содержал в имени "view".
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 30.05.2012, 14:15   #3
tauxxx
 
Регистрация: 25.05.2012
Сообщений: 3
По умолчанию

Код:
GET /orders.aspx HTTP/1.1
Accept: */*
Accept-Language: ru-RU
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; MRSPUTNIK 2, 4, 0, 463; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.1; .NET4.0C; .NET4.0E; BRI/2)
Accept-Encoding: gzip, deflate
Host: 2an.ru
Connection: Keep-Alive
Cookie: mstnc=2; __utma=117510730.55773732.1338193296.1338283540.1338372602.5; __utmb=117510730.5.10.1338372602; __utmz=117510730.1338193296.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ym_visorc=w; ASP.NET_SessionId=gykbibp5dif23wedg240dj; __utmc=117510730
Authorization: Basic NDQ0NzUtMk************==
вот собственно что дает сниф при нажатии на кнопку и заполненных формах в браузере. Необходимо воспроизвести это все от имени idhttp post запросом. Спасибо что отреагировали

Последний раз редактировалось tauxxx; 30.05.2012 в 14:28.
tauxxx вне форума Ответить с цитированием
Старый 31.05.2012, 14:17   #4
tauxxx
 
Регистрация: 25.05.2012
Сообщений: 3
По умолчанию

Цитата:
ох, блин, ASP...
посмотрите в снифере что браузер шлет, там наверняка еще три параметра казмеров эдак в килобайт (а то и больше) текста. Просто сталкивался с APS, там был такой хэш. Если искат в исходном тексте страницы, гдет в начале, один из параметров, кажись, содержал в имени "view".
Передаю __VIEWSTATE в post показывает либо 405 ошибку? если idhttp.handle.redirect := true либо 302 FOUND если idhttp.handle.redirect := false
tauxxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка данных методом POST Arassir PHP 10 08.06.2012 01:49
Авторизация на UCOZ с idHTTP.Post Stalkker247 Работа с сетью в Delphi 15 14.03.2012 13:34
Отправка письма с сайта UCOZ (idHTTP.Post) ProGramer86 Работа с сетью в Delphi 0 20.01.2012 09:53
GET, POST, Авторизация и отправка сообщения на стену sashaxD Работа с сетью в Delphi 6 22.09.2011 01:29
Отправка данных методом post ANDEREY Работа с сетью в Delphi 4 11.08.2011 10:09