ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

На сайте есть форма для заполнения, нужно отправить 15к одинаковых запросов
  #1  
Старый 20.12.2009, 02:46
Аватар для sultan128
sultan128
Познающий
Регистрация: 06.04.2008
Сообщений: 93
Провел на форуме:
3944063

Репутация: 77
По умолчанию На сайте есть форма для заполнения, нужно отправить 15к одинаковых запросов

Собственно сабж.
Сама форма:
Код:
<form action="/cgi-bin/faq.cgi" method="post" name="frmSend" id="frmSend" enctype="multipart/form-data" style="margin:0;" onSubmit="alert

('!!!!'); return SendData();"><TABLE width="100%">
						<TR>
							<TD class="label"><B class="red">*</B> Имя и фамилия</TD>

							<TD class="input"><INPUT name="name" type="text" class="wide" id="name" maxlength="255"></TD>
						</TR>
						<TR>
							<TD class="label"><B class="red">*</B> Род деятельности</TD>
							<TD class="input"><INPUT name="title" type="text" class="wide" id="title" maxlength="255"></TD>
						</TR>
						<TR>

							<TD class="label"><B class="red">*</B> Город проживания</TD>
							<TD class="input"><INPUT name="city" type="text" class="wide" id="city" maxlength="255"></TD>
						</TR>
						<TR>
							<TD class="label"><B class="red">*</B> Контактный телефон</TD>
							<TD class="input"><INPUT name="phone" type="text" class="wide" id="phone" maxlength="255"></TD>

						</TR>
						<TR>
							<TD class="label">E-Mail</TD>
							<TD class="input"><INPUT name="email" type="text" class="wide" id="email" maxlength="255"></TD>
						</TR>
						<TR>
							<TD class="label"><B class="red">*</B> Вопрос</TD>

							<TD class="input"><TEXTAREA name="question" cols="40" rows="5" class="wide" id="question" 

style="width:100%"></TEXTAREA><BR><SPAN class="footnote" style="padding-left:0px; ">не более 150-ти символов</SPAN></TD>
						</TR>
						<TR>
							<TD class="label"><B class="red">*</B> Ответ</TD>
							<TD class="input"><TEXTAREA name="answer" cols="40" rows="5" class="wide" id="answer" 

style="width:100%" ></TEXTAREA></TD>
						</TR>
						<TR>

							<TD class="label"><B class="red">*</B> Откуда узнали о нас?</TD>
							<TD class="input"><INPUT name="source" type="text" class="wide" id="source" maxlength="255"></TD>
						</TR>
						<TR>
							<TD class="label">Фото</TD>
							<TD class="input"><INPUT name="photo" type="file" class="wide" id="photo" maxlength="255"></TD>
						</TR>

						<TR>
							<TD>&nbsp;</TD>
							<TD><DIV class="button"><A href="#" onClick="return SendData();">Отправить</A></DIV></TD>
						</TR>
					</TABLE>
					<br><span class="footnote red"><B>*</B> - обязательные для заполнения поля</span>
</FORM>							</TD>
Также на сайте имеется следующий скрипт:
Код:
<script>
  function SendData() {
	if (document.frmSend.name.value == "") {
      window.alert("Вы не указали свое имя.");
      return false;
    }
    if (document.frmSend.name.value.length > 20) {
      window.alert("Поле \"Имя и фамилия\" не может содержать более 20 символов.");
      return false;
    }
    if (document.frmSend.title.value == "") {
      window.alert("Укажите, пожалуйста, род своей деятельности.");
      return false;
    }
    if (document.frmSend.city.value == "") {
      window.alert("Не указан город проживания.");
      return false;
    }
    if (document.frmSend.phone.value == "") {
      window.alert("Не указан телефон телефон.");
      return false;
    }
    if (document.frmSend.question.value == "") {
      window.alert("Вы не задали вопрос");
      return false;
    }
	if (document.frmSend.question.value.length > 150) {
      window.alert("Вопрос слишком длинный. Постарайтесь уложиться в 150 символов.");
      return false;
    }
    if (document.frmSend.answer.value == "") {
      window.alert("Вы забыли дать ответ на вопрос.");
      return false;
    }
	if (document.frmSend.answer.value.length > 120) {
      window.alert("Ответ слишком длинный. Постарайтесь уложиться в 120 символов.");
      return false;
    }
	if (document.frmSend.source.value == "") {
      window.alert("Укажите, пожалуйста, источник Вашей информации.");
      return false;
    }
    return frmSend.submit();
  }
</script>
Нужно, чтобы отправилось 15к-20к запросов, с данными: text1, text2... соответственно в полях со звездочками. Без проксей и каптч. Как такое реализовать?
 
Ответить с цитированием

  #2  
Старый 20.12.2009, 03:22
Аватар для brainy
brainy
Участник форума
Регистрация: 21.08.2009
Сообщений: 131
Провел на форуме:
2058728

Репутация: 60
По умолчанию

купить или попросить кого-то из владельцев хуман емулятора сделать скрипт
дело нескольких минут
 
Ответить с цитированием

  #3  
Старый 20.12.2009, 11:46
Аватар для lo0
lo0
Участник форума
Регистрация: 06.03.2006
Сообщений: 122
Провел на форуме:
709545

Репутация: 72
По умолчанию

Код:
import urllib2, urllib

urllib2.install_opener(urllib2.build_opener())
params = {'name':'Свое значение',
          'title':'Свое значение',
          'city':'Свое значение',
          'phone':'Свое значение',
          'email':'Свое значение',
          'question':'Свое значение',
          'answer':'Свое значение',
          'source':'Свое значение'}
result = urllib2.urlopen('www.DOMAIN.com/cgi-bin/faq.cgi',urllib.urlencode(params)).read()
result оставляю на твое усмотрение, в дальнейшем можно чекать ответ от сервера
 
Ответить с цитированием

  #4  
Старый 20.12.2009, 23:58
Аватар для sultan128
sultan128
Познающий
Регистрация: 06.04.2008
Сообщений: 93
Провел на форуме:
3944063

Репутация: 77
По умолчанию

lo0
Я, признаться, в языках программирования не силен, буду благодарен, если разъяснишь, что с этим надо делать, или дашь свою асю..
 
Ответить с цитированием

  #5  
Старый 21.12.2009, 00:41
Аватар для lo0
lo0
Участник форума
Регистрация: 06.03.2006
Сообщений: 122
Провел на форуме:
709545

Репутация: 72
По умолчанию

Можно в ПМ писать, помогу
1. Сохраняешь все это дело в файл file_nbame.py
2. Вместо слов 'Свое значение' указываешь свои данные
3. www.DOMAIN.com - заменяешь на свой сайт
4. Если у тя не уставновлен питон, то нужно установить
5. Запускаем скрипт: python file_nbame.py

PS: 5-й пункт отлично работает под никсами(у меня не винда), а для запуска на твоей ОС - достаточно посмотреть документацию, но вообще проблем не должно быть.
Если будут вопросы - пиши
 
Ответить с цитированием

  #6  
Старый 21.12.2009, 23:28
Аватар для sultan128
sultan128
Познающий
Регистрация: 06.04.2008
Сообщений: 93
Провел на форуме:
3944063

Репутация: 77
По умолчанию

lo0
Отписал в ПМ, но ответа не получил, поэтому спрошу здесь, если кто-нибудь может - ответьте, пж, на следущюие вопросы: данный скрипт будет работать, насколько я понимаю, с компа? Как регулировать кол-во запросов?
Когда нажимаю кнопку "отправить" на сайте с формой (предварительно заполнив все необходимые поля), меня перекидывает на страницу (допустим, www.DOMAIN.com/good) с надписью "ваша заявка принята", после чего происходит редирект на первоначальную страницу с формой, ввиду этих данных, как нужно изменить строку result в коде?
 
Ответить с цитированием

  #7  
Старый 22.12.2009, 00:11
Аватар для lo0
lo0
Участник форума
Регистрация: 06.03.2006
Сообщений: 122
Провел на форуме:
709545

Репутация: 72
По умолчанию

Да, этот скрипт можно запускать с любой машине, лишь бы был доступ к www.DOMAIN.com
Один раз запустил скрипт - один запрос выполнися, можно добавить в планировщик задач (cron for unix like)
После запуска скипрта, переменная result будет содеражть ответ от сервера, т.е. если все ок, то result == '<html><body>ваша заявка принята</body></html>', или что-то в этом духе, но на ридерект никакой реакции не будет. Можешь в скипрт добавить еще одну строчку: print result и можно посмотреть на результат
 
Ответить с цитированием

  #8  
Старый 22.12.2009, 01:47
Аватар для sultan128
sultan128
Познающий
Регистрация: 06.04.2008
Сообщений: 93
Провел на форуме:
3944063

Репутация: 77
По умолчанию

lo0
Спасибо! Посмотри в ПМ.
 
Ответить с цитированием

  #9  
Старый 22.12.2009, 12:45
Аватар для lo0
lo0
Участник форума
Регистрация: 06.03.2006
Сообщений: 122
Провел на форуме:
709545

Репутация: 72
По умолчанию

Цитата:
Сообщение от sultan128  
Как сделать, чтобы ответ сервера записывался в файл и скрипт выполнялся бесконечно
Начнем с "бесконечно" или while True
Если добавить данный блок, то скрипт у тя будет работать до тех пор, пока ручками не остановишь (kill pid) + очень быстро будет обрабатываться. Поэтому добавим еще таймер.
Комментарий к блоку для "записи в файл" укажу в исходнике.
Код:
import urllib2, urllib, time
from random import randrange

urllib2.install_opener(urllib2.build_opener())
params = {'name':'Свое значение',
          'title':'Свое значение',
          'city':'Свое значение',
          'phone':'Свое значение',
          'email':'Свое значение',
          'question':'Свое значение',
          'answer':'Свое значение',
          'source':'Свое значение'}
while True:
    pause = randrange(1,10) # К перем. pause будет присвоено значение от 1 до 10
    filehandle = open('result.txt', 'a')
    result = urllib2.urlopen('www.DOMAIN.com/cgi-bin/faq.cgi',urllib.urlencode(params)).read()
    filehandle.write(result) #Пишим результат в фалй result.txt
    time.sleep(pause * 60) # На сколько нужно сделать паузу (остановить вып. скрипта) в секундах
    filehandle.close ()
Все ответы/результаты будут записаны в файл result.txt в том каталоге, где и скрипт лежит.
Таймер будет останавливать скрипт "от 1 до 10" мин, т.к. * 60, но здесь можно установить любое свое значение.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
Paros - инструмент для исследования веб-приложений Kuzya Авторские статьи 2 10.04.2009 17:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ