Что нового

[Сеть, интернет] Передача нажатия выбранной кнопки submit из нескольких на веб-странице

kasper_sky

Antivirus
Сообщения
116
Репутация
1
И снова доброго времени суток.

Вчера, по совету форумчана inververs (кстати, ещё раз спасибо!) в теме http://autoit-script.ru/index.php/topic,15003.html я начал изучать библиотеку (wrapper?) WinHTTP.au3

Освоился я успешно (удалось произвести логин, запрашивать и получать страницы), но теперь наткнулся ещё на одну трудность.

Имеем веб-страницу, на ней форма, в ней три кнопки submit.
Код:
<html>
  <form method="post" action="Page.aspx" id="form1">
    <input type="submit" name="ctl00$cph_main$btRenew" value="Обновить" id="cph_main_btRenew">
    <input type="submit" name="ctl00$cph_main$btSearch" value="Перейти к поиску" id="cph_main_btSearch">
    <input type="submit" name="ctl00$cph_main$btAddress" value="Показать ЛС по адресу" id="cph_main_btAddress">
  </form>
</html>
Подскажите, какой функцией (и каким образом) передать серверу информацию о том, что я нажал определённую (одну из трёх) кнопок?
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Нажатие кнопок передаётся посредством метода POST. Это значить, что вы должны отправить на сервер данные о кнопке, а именно name и value:
Код:
ctl00$cph_main$btRenew=Обновить
ctl00$cph_main$btSearch=Перейти к поиску
или
ctl00$cph_main$btAddress=Показать ЛС по адресу
 
Автор
K

kasper_sky

Antivirus
Сообщения
116
Репутация
1
Спасибо. Подскажите, каким образом (каким синтаксисом в функции) передать это?
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Код:
#include "WinHttp.au3"
$hWinHttp = _WinHttpOpen()
$hConnect = _WinHttpConnect($hWinHttp, 'ваш-сайт.ru')
$sPost = "ctl00$cph_main$btRenew=Обновить"
$sResult = _WinHttpSimpleRequest($hConnect, "POST", '/Page.aspx', '', $sPost)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hWinHttp)
ConsoleWrite($sResult & @CRLF)
 
Автор
K

kasper_sky

Antivirus
Сообщения
116
Репутация
1
К сожалению, не действует..
Прошёлся Wireshark`ом, при клике на кнопке браузер передаёт серверу это (некоторые данные скрыл звёздочкой):
Код:
POST /Page.aspx HTTP/1.1
Host: somesite.com
Connection: keep-alive
Content-Length: 31128
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://somesite.com
User-Agent: Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.8 Safari/537.36 OPR/18.0.1284.5 (Edition Developer)
Content-Type: application/x-www-form-urlencoded
Referer: http://somesite.com/Page.aspx
Accept-Encoding: gzip,deflate,sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: ASP.NET_SessionId=ettyfw*****moxt*********; cid=****; c=**; __utma=4******.2********0.1********5.138*******.13********.7; __utmc=*******; __utmz=******1.1********5.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); s=-1; HouseId=

и (осторожно, много текста!)

Код:
ToolkitScriptManager1_HiddenField=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=0xT5h7Bt4cFgAhTG1tbG8sAo4nl2P%2BZr6Emfb3zsmRLlYSHu81Tk5iG4la6b8e8QmOkI%2Fwyi8tqVoBtBxzR1Jr2p0Rvvj4v8gN9u8hL0hGSxeaMxqOwiMWNCJXWeybG1ohMdl5aB%2FTxHX%2FOefiZwY6m5NbqZpfEP2eudnpZU5a3Gm6YBi34NlnaaCuTRjvF3DacV8wupDqbV3mZ7rS3KPZh7WruNr8qoyRwO0RYSOK8KvpRshQf3so4IFph6o3pVD7wnDbe32p4BsDgQ7nTk3z4pXUuqGJsETKagcalGCG7LMcphrgROxa5jW2zwRLLhnJ8zH9MesvuV6HqZ7DLNBMkt%2BYNQPvdRCXejhqgcP3g%2BCUFJxNjlo7WyjSGUXuJ013TquizFfntL8ru7UhIx0vRD34KIpn0Lytrkk1a4Z%2Fc%2F2f8kLHg7O18m%2BkOr44XF79iavS9cMYV%2FbQErRCltz6sWmay8HWxdl4qubfamy%2F5UizDfy4V7kYv31Iwbb491E9xbcOCp91IXiX0eIEodMddUyYQWzhTE%2BVSKBbjXRU04VokRSaixSmXfH9BHTk%2FGn3%2FG9ZWtDVNJ7cQQXtz76o9MBx9HkwQaeMwcKta8FfvRbR7ScgjQCgDFVvNvVSYS2kKvAUmAe1y69e6x6WrZZ%2Fz1Y6gFimndGHg8aYj77oaAlZra4KX9e7GnrMkmpu9g6l%2Blyw3PG7qO409NMwtdLch9%2BKquEYfqIrchEMNll3E07ohldOrNSOwJHXfsHSPYrjFnuerAV%2BQsnR2f6E2R%2BEcaU4%2FSgCQdDugv19Ze%2F9QOds3%2B68ZxPdlpGQS5H16MIMJ8bgjg4o4jkihwOV9Z9JZI0RTldZNma5oXgya1YkcTYdbpAk%2FoV%2F92mBZ1IbmlUIgqrdpRfIFpevy9vLnQ1l29DsmXb2q3khrkdlmKkwm%2FUDJBhQEa2q1%2FT%2BECPykEnGZn6TEkzFYZy9nlPEp7rrz9TII%2F6wfyrIw8VW5barfBbQLU5%2FK7XfemIMX%2Fxtejp%2B98ttFwEl67783kFVsx%2Fug1AAMydwN19gsa2gZJw1pgXrZ0gHkU5AvvS4catjcrpxwl%2BBQEEvQlt8lvPYN%2BFfMDEaWiF4RHDKAGjWUouUcrJ%2FhQYSvNfuywL9WGOkGZh03gsuhQEfnf0jGkqP2jD7NjvIpmuBx2MFmCWEq%2FXFUq8Hh%2BIf2CgeZBnTUPRr%2Bhnpo1Hd7d3OwCeyRIBmFic1%2FZpabts7EIx3xF0ME8Tww5Wp%2F1dOmc5qKulIIbYKJoL0x82vri2iENLkhEALeDM4cr0MhUccfLvvpNx5and4GyP6jP%2FRA9LEQ%2BvXjIzygOrzlAdHjCluWOfFqdWa2RmO%2BrwCD4nhHdtS7R09fJ4iSdKxvwfS7rShK8SXW5wHlrMavWZ1IivYNRqK7SeLAPPpgtT9Q%2Fy2I42yg5VJjIQs3HLBM7CnJE6qha%2FdVDcRMduoQITmmMfoZh6W7cYoSGGSV98QwtS4J%2FJiX%2Bfyv4%2BxdUjlM6kvxAgMFx987Prr%2BUEf4FliUVmKUP04LaP%2BlA6qZAN1S7rsQifPkEqcNsJq5AL%2BuNVSdPZctCuw5z%2Btv8bowrqBykWoUPWB0ZSvzpmVIHZ5baVdxO45xCybglywavY1UxIihTZpSymNjWsPHNsc0btDhmn%2BUiYkStzAlP7O2lgJi4oU0pzaDdXHd9euIJ15Oeqn%2FeELMRM0rZuE%2BXxZETC7ZbnF3e%2B2MvuIOA%2Fg5LvlFyyo8pJEWnBCy5LiJ3jBS%2BOoQGCqpSTcRstebMQZc9xNwbs51OLnyyQckZfZcAdsa58ZVLDRnnSuBKnFaYTtNVJOS4zVcDSpi3mEnX%2BJFZ9GPdNF1Vuoc%2BgYiVTb1CwM1%2FwIamUEpbT9jdXeRGS5svj0BNcOUk1SF9%2FqGDR5g3e7Wld0liKnFkV3nshdDdJBu0kWcpIskTjXQ%2Fnwv0DL91tGHnRTVVdwcQgIQcKOYY3wK48f8t8dejpzkVoP1uGTUs5NN96FiUJLPwOvS76p7RusjAyQHLeeMxquyquGV%2Fe2uRp%2FpqXg%2Btq%2FgY4dNX0egIjD9eJVc0bpHiFTjDDo5vQOgGU3Ine4nCHVBC72x8p2GNgc4ecWacheDOzWAagv6OCC7sMDr3GdTY0TESY%2BCPZOjyUr8TNvrfnMMgd3fvwF1S0Q68KPSl6Wnr3NjSz7LlTIJbb126yeozxeO1qGt%2FKqVD%2FBH7QgoxUXWSlAre4F9qUNPFyyMMjC%2FMPKH2gX3DmW2CcPevwpwzdx9VqMEuBMd6qfgIwhMt0g2yq5kBOmjJ8F5xAEx0UcgzvuLCQA2kO3SdkuvzFM%2BPOMipLS3Pn9q%2B3QmYS5erkY1gASz7d3Np%2FVASkMX5hrQ2NsXEHnIxXDQg1p%2BR6GkXO5819Y2HFuO1lmq6ykcLvctiBQ%2BlQ0NnxMJ3KuH3gfoK7mzfAq4IAQk7SkLiUPKuuQZTDsc0oYqp%2BukbUpnHKR0ybmc34RMJNCjQXmUZiAmhMofeZaDcIWMX6xmo09e9XR19Owc8NWPxGL%2FMYrf6lXZLyyqsyDlslV3BM%2Beilhm93fy5yoYdtRib%2BuAmTH3VE2%2Bog0PvgY0P%2F5Zo3C6giFYJIkHjUZY4pejEXv8qc4mNrCZxaKlj%2B767LcvDHMoYnIk8xE%2BEf9CJlXeFHMKfSyqoDNlQcW%2BDWfxnZdW%2FARq8pLdEgI1A4H9zUIqaADdTGYUX9%2Fgo5T2vaK9HtgoqLBltcv35hI3ZM3XXh5Dp%2Fm%2FIv1lnl67hFOAaRnRHvRfzrNyQ1ZkD65hYT2zZ2pS7ABaHs%2BCbyS6z0wno15GVn77%2BTq6dI4S0KdDF8DIMKAPRTo0WF1dHWZVqQR0f5s4FYrPyAHsgnR4fnal6F%2FmRz%2BA88vZsTE%2FAeXtV%2FGaqEOqw3R6f17%2Fwnx6tmBl1mfvLGeL59Fq3HXs9jz%2FkxVzsq4e3VP1nC2ELKBqIxd8Wo2ut4%2BvFUcsE37uwTZ0qK1PaQhTfCJhuuL38aViEMp8mZUrswWYatO4%2B7wOQURmVOq1Ve7ldlNAdRVtAYl89X8bakHQIIrQ4jGH9feSciF0WkefEcFIcHQ00w1qQcs%2F7Oljso3Dez0Xu9wJReK0fXhBjcni6c69fQhMSdl4KptjW%2Bzj2csIxf2APrEsk%2FaCDhcmdVHlWvPcBAw%2BzY5xCFtvg91OeL5KjTJi97mGBeEaUH6k%2BWpRJqZ%2BrPxRTLJV6auOoAmrQuR1WxrfoqnQvUuFGpOD4g5cPnFIolFnn7raVjxNCG6b7IAiKUxxvWTnHo0ywiirJgrhMytLqIp9XiUPK%2Bcr0JSlEL6XRgqqU9fmWaPXbrSUrMp0AJOyqkdcnV57fcS8MrKsDaae%2Fu8OhsT%2Bxy640EOUYHEWymw5InPjJXLlSS0hrfjM5ChO9sCFxNtNoVIpHo%2Bct4%2FiLYeL1xfUe3x%2FCgf%2BVDUAmP%2F8BTxIEnY7gRXDIrjV6A2BmIdqjuRfvXS7rYgHIPkua3An8CEIp7xzDtSIRTfAINBi3ZaS0ylBbxMQcSuGWsTm7Yf8P8iyqWhoTmTRXikkY0MhFoy6089bDaxgLncDQ51nyhN6I%2BofEtUilj0ttB9oBVKoZprnYxz7Se9nUohboORwIxKNYBus29NMr5rVlZN57s8OSPnFAyg%2FdjZOF808kuh0m9gTH1miFFaAoO1Unrup%2BEXIXhxijQ9rRyYdZ7CEGtcTo%2BwNnewkHcIBaZLR7sDWpNgi2%2Bcv8t2AjBpnzZhj%2FRxcWSoB3SnlyU4UyJOQ24bMA8aRRAeJJ4FU8vl1ZJU2CUANsmnBSDnP0cdSS3Vl0xsQohQiiqlN9YsafTDuW1iCmu1Hcn%2Fyaoo1MtfLlAzQcoDPfQ0n94zwzh7zlS%2FhYE6l80%2Fkd5ARI5RHmEx09bATWnKJEZ0j%2BK6w%3D%3D&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=51%2FqywCxdTSNIx9HAZkFcRrENnwUVt4QRaagX1Lgl1lpa%2Bk3P8tYGvLny5AqCs9%2B&ctl00%24cph_main%24btRenew=%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C

обратил внимание на последний аргумент:
Код:
__EVENTVALIDATION=51%2FqywCxdTSNIx9HAZkFcRrENnwUVt4QRaagX1Lgl1lpa%2Bk3P8tYGvLny5AqCs9%2B&ctl00%24cph_main%24btRenew=%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C
Есть какие-нибудь идеи?..


Добавлено:
Сообщение автоматически объединено:

Нашел решение. Нужно было весь этот текст
kasper_sky [?]
и (осторожно, много текста!)
в точности скопировать и отправить. Ох уж этот ASP.NET... :mad:
 
Верх