Формирование Get запроса (имитация нажатия кнопки на странице) - C#

Узнай цену своей работы

Формулировка задачи:

У меня задача такая: нужно съэмитировать нажатие кнопки на html странице без всяких WebBrowser и тп. Как я понял надо отправлять Get запрос на страницу. Ситуация такая: есть html страница расположенная по адрессу http://gallery.pitnet.ru/register.php на ней две кнопки, согласен и не согласен. Нужно нажать на первую. Когда на нее нажимаешь в браузере, адресс страницы остается тот-же, но содержимое меняется. То есть кнопка отправляет запрос какому-то скрипту. Пролистав исходный код страницы я не увидел никакого запроса. Может быть вы мне поможете. Вот код страницы:
Листинг программы
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html dir="ltr">
  3. <head>
  4. <title>фото.галерея | На других посмотреть и себя показать!</title>
  5. <meta http-equiv="content-type" content="text/html; charset=windows-1251">
  6. <meta name="description" content="фото.галерея | На других посмотреть и себя показать!">
  7. <meta name="keywords" content="">
  8. <meta name="robots" content="index,follow">
  9. <meta name="revisit-after" content="10 days">
  10. <meta http-equiv="imagetoolbar" content="no">
  11. <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
  12. <link rel="stylesheet" href="./templates/default/style.css?8" type="text/css">
  13. <!--[if IE]><link rel="stylesheet" type="text/css" href="./templates/default/ie.css" media="all" /><![endif]-->
  14. <link rel="icon" type="image/png" href="./icon.png" />
  15. <script language="javascript" type="text/javascript">
  16. <!--
  17. var captcha_reload_count = 0;
  18. var captcha_image_url = "./captcha.php";
  19. function new_captcha_image() {
  20. if (captcha_image_url.indexOf('?') == -1) {
  21. document.getElementById('captcha_image').src= captcha_image_url+'?c='+captcha_reload_count;
  22. } else {
  23. document.getElementById('captcha_image').src= captcha_image_url+'&c='+captcha_reload_count;
  24. }
  25. document.getElementById('captcha_input').value="";
  26. document.getElementById('captcha_input').focus();
  27. captcha_reload_count++;
  28. }
  29. // -->
  30. </script>
  31. <script type="text/javascript" src="js/detailsfunc.js"></script>
  32. <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
  33. <script type="text/javascript" src="js/prototype.js"></script>
  34. <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
  35. <script type="text/javascript" src="js/lightbox.js"></script>
  36. <script type="text/javascript" src="highslide/highslide-with-html.js"></script>
  37. <link rel="stylesheet" type="text/css" href="highslide/highslide.css" />
  38. <script type="text/javascript">
  39. hs.graphicsDir = 'highslide/graphics/';
  40. hs.outlineType = 'rounded-white';
  41. hs.showCredits = false;
  42. hs.wrapperClassName = 'draggable-header';
  43. hs.align = 'center';
  44. </script>
  45. </head>
  46. <body >
  47. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  48. <tr>
  49. <td class="outl"></td>
  50. <td width="1002">
  51. <table width="100%" border="0" cellpadding="0" cellspacing="0"><td><!--ads_zone 1000x90 <embed src="ads/ads_1002x90_kino.swf" quality="high" bgcolor="#000" width="1000" height="90">-->
  52. <table width="1002px" height="150px" border="0" cellpadding="0" cellspacing="0" class="shapka"><td>
  53. <div class="na_8_marta"></div>
  54. <div class="logo"><div id="zima"></div><div id="ngod"></div><div id="serd"></div><div id="zvezda"></div><div id="flo"></div><a href="/" alt="фото.галерея | photo.gallery | Фотографируем, общаемся, объединяемся!" title="фото.галерея | photo.gallery | Фотографируем, общаемся, объединяемся!"><img src="./templates/default/images/gall_sep.gif"></a></div>
  55. <div class="adszone">
  56. <!--первомайские шары--> <div class="balmay"></div> <!--end первомайские шары-->
  57. <!-- <a href="http://gallery.pitnet.ru/advanced/estetiq/estetiq.php"><img src="./ads/fraim.gif"></a> -->
  58. <div style="position: relative; float: right; right: 5px;">
  59. <a href='http://tvmasterskaya.pitnet.ru/'><img src='ads/ads_250x90_tvm.jpg' /></a>
  60. </div>
  61. <!-- <script language="JavaScript" type="text/javascript">
  62. function randomize(min,max) {return((Math.ceil(Math.random() * (max - min + 1) + min - 1))+"")}
  63. document.write('<iframe width="250" height="90" src="ads/shapka25090_#id.html" frameborder="0" scrolling="no" ></iframe>'.replace(/#id/i,randomize(1,2)))
  64. </script> -->
  65. <!--
  66. <a href='http://tvmasterskaya.pitnet.ru/'><img src='ads/ads_250x90_tvm.jpg' /></a>
  67. --></div>
  68. </td></table></td>
  69. <tr>
  70. <td>
  71. <table width="100%" border="0" cellpadding="10" cellspacing="0">
  72. <tr>
  73. <td width="32%" valign="top" class="lb">
  74. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  75. <td class="bz">Фото.галерея</td>
  76. <tr>
  77. <td class="bc"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  78. <tr><td width="40%"><form action="./login.php" method="post">
  79. <table width="100%" border="0" cellpadding="0" cellspacing="5"><td><input type="text" name="user_name" class="logininput" value="Логин" onblur="if(this.value=='') this.value='Логин';" onfocus="if(this.value=='Логин') this.value='';" /></td>
  80. <tr>
  81. <td><input type="password" name="user_password" class="logininput" value="Пароль" onblur="if(this.value=='') this.value='Пароль';" onfocus="if(this.value=='Пароль') this.value='';" /></td>
  82. <tr>
  83. <td><table border="0" cellspacing="0" cellpadding="0">
  84. <tr>
  85. <td><input type="checkbox" name="auto_login" value="1" /></td>
  86. <td> Запомнить меня</td>
  87. </tr>
  88. </table></td>
  89. <tr>
  90. <td><input type="submit" value="Войти" class="button" style="width: 120px;"/></td>
  91. </table></form>
  92. </td>
  93. <td width="60%" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="5"><td><li><a href="./member.php?action=lostpassword">Забыл пароль</a></li>
  94. <li><a href="./register.php">Регистрация</a></li><li><a href="complaint">Пожаловаться</a></li><li><a href="faq">Раздел помощи</a></li></td></table></td>
  95. </table></td>
  96. </table>
  97. </td>
  98. <td width="68%" valign="top" class="rb"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  99. <td> <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
  100. <td class="clicks"><span class="clickstream"><a href="././" class="clickstream">Главная страница</a>&nbsp;&rarr;&nbsp;Регистрация</span></td>
  101. <tr>
  102. <td class="bcb"><!--rules-->
  103. <span class="vtext">Общие положения</span><br /><br />
  104. Фото.галерея предназначена для размещения и обсуждения фотографий, общения как фотографов-профессионалов, так и фотолюбителей на темы, связанные с фотографией. Оценки, рейтинги - не более чем попытка отбора лучших фото при помощи самих участников. Не надо воспринимать их слишком серьезно. Помните что фото.галерея, не Ваш личный домашний фотоальбом, поэтому для "слива фоток с вечеринки" или фотографий типа "Отдыхаем =))" лучше воспользоваться другими ресурсами. Предпочтение отдается хорошей, качетвенной фотографии, фотографии сделанные мобильными телефонами и фотокамерами с низким разрешением будут удаляться на усмотрение администрацией ресурса. Приветствуется активная позиция участников, т.е. не просто присылаете фото и ждете откликов, а сами активно участвуете в обсуждениях. Мы уверены, что вы - честный человек, уважающий авторские права и других участников, поэтому ждем, что вы будете присылать только свои собственные фотографии, корректно и вежливо комментировать чужие фотографии, а также уважать чужое мнение (пусть и не совпадающее с вашим собственным). Если вы умеете или только пытаетесь создавать фотографии, которые не стыдно поместить в раму и повесить на стену - добро пожаловать!
  105. <br /><br />
  106. <ol>
  107. <li><span class="tliul">Фотографии должны быть основаны на собственных (авторских, выполненных собственноручно) фотографиях участника, снятых на фотокамеру.</span></li>
  108. <li><span class="tliul">Все фотографии принадлежат их авторам.</span></li>
  109. <li><span class="tliul">Фотография должна быть в разрешенном формате нашей галереи, рекомендованные размеры: 900x1024px. В случае если Ваша фотография крупная - она автоматически уменьшится до рекомендованного размера при загрузке на сайт.</span></li>
  110. <li><span class="tliul">Запрещено создание и/или использование нескольких аккаунтов одним участником за исключением служебных, которые разрешены администрацией.</span></li>
  111. <li><span class="tliul">Запрещено участие фотографий, не являющихся собственностью самих авторов (сканированных из журналов, скопированных с web-сайтов и т.п.).</span></li>
  112. <li><span class="tliul">Запрещена публикация любой порно продукции.</span></li>
  113. <li><span class="tliul">Для эротических фото авторы обязаны указывать категорию "ню".</span></li>
  114. <li><span class="tliul">Детская эротика запрещена.</span></li>
  115. <li><span class="tliul">Запрещено размещение двух (и более) одинаковых снимков в галерее.</span></li>
  116. <li><span class="tliul">Запрещено размещение более 5-ти снимков в сутки.</span></li>
  117. <li><span class="tliul">Запрещены снимки низкого качества.</span></li>
  118. <li><span class="tliul">Запрещены снимки с содержанием на них спиртных напитков, без художественного смысла.</span></li>
  119. <li><span class="tliul">Запрещены любые переписки в комментариях, даем только конкретный комментарий к конкретной фотографии.</span></li>
  120. <li><span class="tliul">Запрещена реклама (Отойти от правил можно с разрешения администратора).</span></li>
  121. <li><span class="tliul">Запрещена продажа товаров (автомобилей, техники, предметов быта и т.п.). Размещение такого рода фотографий будет расценена как спам, флуд, флейм и т.п. Галерея - не газета бесплатных объявлений. Нарушители окажутся в блоке сроком от 10 дней и более.</span></li>
  122. <li><span class="tliul">Снимки размещенные в несоответствующую теме фотографии в другую категорию - удаляются без ведома автора.</span></li>
  123. <li><span class="tliul">Фотографии, нарушающие данные правила, удаляются без предварительного уведомления.</span></li>
  124. <li><span class="tliul">Если вы используете один компьютер для нескольких человек для входа на сайт (например, муж и жена имеют разные аккаунты), во избежание ненужных недоразумений, предупредите об этом администрацию, и, пожалуйста, в таком случае не оценивайте друг друга (со стороны это будет выглядеть как накрутка), ведь вы можете сказать все непосредственно.</span></li>
  125. <li><span class="tliul">В случае, если аккаунт участника, не используется более 6-х месяцев, он удаляется автоматически.</span></li>
  126. <li><span class="tliul">Если комментарии посетителя носят оскорбительный характер, содержат не нормативную лексику (нецензурную брань), либо не удовлетворяют соображениям элементарной этики - аккаунт участника может быть заблокирован сроком от 20 дней и более (на усмотрение Администратора), а при систематическом повторении неэтичного поведения - аккаунт может быть удален.
  127. <br />Администрация сайта оставляет право удаления комментариев на снимках учетным записям владельцу снимка без объяснения причины.</span></li>
  128. <li><span class="tliul">Удаление опубликованных фотографий производиться по просьбе владельца снимка отправленной по контактам указанным
  129. в подписи сайта. Срок рассмотрения просьбы на удаление может достигать 10 рабочих дней (не считая праздников и форс мажорных обстоятельств). В любом случае, если Вы обратились с просьбой удалить ваши фотографии, а Вам не отвечают, попробуйте повторно сделать запрос на адрес электронной почты указанный в подписи сайта. Техника не идеальна и есть причины не зависящие от Администрации, по которым ваша просьба может быть не услышана. (плохое качество связи, сбои в серверном и клиентском ПО).</span></li>
  130. <li><span class="tliul"> Запрещена публикация снимков и комментарием к ним в любой форме нарушающие законодательства РФ. (разжигание межнациональной розни, призывы к насилию и т.д.)
  131. <li><span class="tliul">Администрация, оставляет за собой право наложения любых ограничений на учетные записи пользователей без предварительного уведомления и объяснения причин.
  132. <br />Помните: В чужом доме не будь приметлив, а будь приветлив. (с)</span></li>
  133. <li><span class="tliul">С вопросами, пожеланиями и предложениями Вы можете обращаться на контакты указанные в подписи сайта.</span></li>
  134. Любую корреспонденцию Вы всегда можете передать через нашего партнера с пометкой gallery.pitnet.ru
  135. в лице ООО ''СитиНэт'' 685000 г. Магадан ул. Пролетарская д.68 офис сети ''ПитНет'.'</span></li>
  136. </ol>
  137. <br />
  138. <span class="vtext">Ст. 130 «Оскорбление» Уголовного кодекса РФ гласит:</span>
  139. <ol>
  140. <li><span class="tliul">Оскорбление, то есть унижение чести и достоинства другого лица, выраженное в неприличной форме, – наказывается штрафом в размере до ста минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период до одного месяца, либо обязательными работами на срок до ста двадцати часов, либо исправительными работами на срок до шести месяцев.</span></li>
  141. <li><span class="tliul">Оскорбление, содержащееся в публичном выступлении, публично демонстрирующемся произведении или средствах массовой информации, – наказывается штрафом в размере до двухсот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период до двух месяцев, либо обязательными работами на срок до ста восьмидесяти часов, либо исправительными работами на срок до одного года.</span></li>
  142. </ol>
  143. <br />
  144. <span class="vtext">Статья 20.1. Мелкое хулиганство:</span>
  145. <ol>
  146. <li><span class="tliul">Мелкое хулиганство, то есть нарушение общественного порядка, выражающее явное неуважение к обществу, сопровождающееся нецензурной бранью в общественных местах, оскорбительным приставанием к гражданам, а равно уничтожением или повреждением чужого имущества, – влечет наложение административного штрафа в размере от пяти до десяти минимальных размеров оплаты труда или административный арест на срок до пятнадцати суток.</span></li>
  147. <li><span class="tliul">Те же действия, сопряженные с неповиновением законному требованию представителя власти либо иного лица, исполняющего обязанности по охране общественного порядка или пресекающего нарушение общественного порядка, – влекут наложение административного штрафа в размере от десяти до двадцати пяти минимальных размеров оплаты труда или административный арест на срок до пятнадцати суток.</span></li>
  148. </ol><br />
  149. <span class="vtext">Краткая юридическая справка: Чем отличается эротика от порнографии?</span>
  150. <br /><br />
  151. <table width="100%" border="0" cellpadding="10" cellspacing="0" style="border: 1px #bbb solid"><td>Чётких критериев, отличающих эротику от порнографии в российском законодательстве (а в общем-то и в международных актах тоже) ещё нет. Однако, есть критерии, выработанные юридической практикой. <br />
  152. Порнографию от эротики, как правило, отличают по следующим критериям: <br />
  153. крайне непристойное, циничное изображение половых отношений;<br />
  154. цель — возбуждение половых инстинктов;<br />
  155. акцент на физиологии аспектах половых отношений, открытый показ форм сексуальных отношений в натуральном виде.
  156. «Детализированное, натуралистическое изображение, словесное описание или демонстрация полового акта, половых органов, имеющие целью сексуальное возбуждение», — так звучит подготовленное Минкультурой определение порнографии для нового законопроекта.<br />
  157. Эротика также сопряжена с отображением человеческого тела, но в большей мере с целью подчеркнуть красоту человеческого тела, многообразие форм его выражения, без специальной цели вызвать желание полового сношения.<br />
  158. Просмотр альбомов или разделов, содержащих эротические фото, разрешён только для посетителей, достигшим 18 лет. Ответственность за просмотр эротических изображений несовершеннолетним лицом лежит на его законном опекуне.</td></table>
  159. <!--rules end-->
  160. <br /><br />
  161. <table border="0" cellspacing="1" cellpadding="1" align="center">
  162. <tr>
  163. <td>
  164. <form method="post" action="./register.php">
  165. <input type="hidden" name="action" value="register" />
  166. <input type="submit" value="Согласен" class="button" />
  167. </form>
  168. </td>
  169. <td>
  170. <form method="post" action="././">
  171. <input type="submit" value="Не согласен" class="button" />
  172. </form>
  173. </td>
  174. </tr>
  175. </table></td>
  176. </table></td>
  177. </table>
  178. </td>
  179. </table></td>
  180. <tr>
  181. <td><table width="100%" border=0 align="center" cellpadding=10 cellspacing=0 class="bordert0">
  182. <tr>
  183. <td valign="top">
  184. <p class="copy">
  185. Права на все фотографии, размещенные в фото.галерее, принадлежат авторам этих фото.<br />По вопросам использования фотографий в каких-либо целях убедительная просьба обращаться к их авторам.<br /><br />
  186. Автор проекта: <a href="root">Виталий Марилов (root)</a> Вопросы на e-mail: <a href="mailto:removed@mail.ru" />removed@mail.ru</a><br /> Тех. поддержка, реклама: <a href="kapanir">Kapanir (Денис)</a>
  187. <br /><br />
  188. &laquo;Фото.Галерея&raquo; работает на <a href="http://4homepages.de/">4images 1.7.10</a><br />© 2006-2012 <a href="http://gallery.pitnet.ru/">&laquo;Фото.Галерея&raquo;</a></span>
  189. </td></tr></table></td>
  190. </table>
  191. </td>
  192. <td class="outr"></td>
  193. </table>
  194. </body>
  195. </html>
Кнопки находятся вот тут:
Листинг программы
  1. <table border="0" cellspacing="1" cellpadding="1" align="center">
  2. <tr>
  3. <td>
  4. <form method="post" action="./register.php">
  5. <input type="hidden" name="action" value="register" />
  6. <input type="submit" value="Согласен" class="button" />
  7. </form>
  8. </td>
  9. <td>
  10. <form method="post" action="././">
  11. <input type="submit" value="Не согласен" class="button" />
  12. </form>
  13. </td>
  14. </tr>
  15. </table></td>
  16. </table></td>
  17. </table>
  18. </td>
  19. </table></td>
Get запрос я отправляю вот так:
Листинг программы
  1. private static string GETRequest(string Url)
  2. {
  3. System.Net.WebRequest req = System.Net.WebRequest.Create(Url);
  4. System.Net.WebResponse resp = req.GetResponse();
  5. System.IO.Stream stream = resp.GetResponseStream();
  6. System.IO.StreamReader sr = new System.IO.StreamReader(stream, System.Text.Encoding.Default);
  7. string Out = sr.ReadToEnd();
  8. sr.Close();
  9. return Out;
  10. }
Заранее спасибо!

Решение задачи: «Формирование Get запроса (имитация нажатия кнопки на странице)»

textual
Листинг программы
  1. System.Net.WebRequest reqPOST = System.Net.WebRequest.Create(@"http://gallery.pitnet.ru/register.php");
  2. reqPOST.Method = "POST"; // Устанавливаем метод передачи данных в POST
  3. reqPOST.Timeout = 120000; // Устанавливаем таймаут соединения
  4. reqPOST.ContentType = "application/x-www-form-urlencoded"; // указываем тип контента
  5. // передаем список пар параметров / значений для запрашиваемого скрипта методом POST
  6. byte[] sentData = System.Text.Encoding.Default.GetBytes("message=" + System.Web.HttpUtility.UrlEncode("отправляемые данные"));
  7. reqPOST.ContentLength = sentData.Length;
  8. System.IO.Stream sendStream = reqPOST.GetRequestStream();
  9. sendStream.Write(sentData, 0, sentData.Length);
  10. sendStream.Close();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут