Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167

Автоматизация отправки формы

12.04.2015, 22:10. Показов 2688. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть сайт (чужой) с формой отправки данных.
Я захожу на сайт, открываю консоль и пишу
JavaScript
1
document.getElementById("form").submit();
И форма отправляет запрос.
Могу ли я те же действия сделать со своего сайта?
То есть на своем сайте с помощью скрипта открыть чужой сайт и отправить форму???

Как вообще совершать действия пользователя (нажатия кнопок, переход по ссылкам и тд) программно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2015, 22:10
Ответы с готовыми решениями:

кнопка отправки формы
есть такая кнопочка: <a href="#" style="background-image:url(pics/btn.gif); width: 56px; height: 21px;" ...

Скрипт для отправки формы
Доброго времени суток У меня есть форма: <div id="forma"><h2>Вы можете задать нам вопрос через эту форму:</h2> ...

Редирект после отправки формы
Добрый день друзья. Есть такая строчка: <a href class="btn btn-danger" type="submit" role="button">ОТПРАВИТЬ</a>< Как...

12
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
12.04.2015, 22:12
Лучший ответ Сообщение было отмечено Igor Fender как решение

Решение

да можно, в принципе.
только на каком уровне ты это хочешь делать? - на сервере (РНР) или на клиенте?
1
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167
12.04.2015, 22:20  [ТС]
saden, Я хочу на сайте (на локальном сервере) написать скрипт, который просто на каком-то сайте нажимает на кнопку.
У меня есть только ссылка на сайт и 100% гарантия, что там есть кнопка с известным id. Чтобы не нажимать самому, хочу написать функцию, которая это сделает.
Еще такой вопрос: Пробовал вызывать javascript функцию сайта из консоли и все работало. Это разве не опасно, если каждый может вызывать любые функции??
Может можно как-нибудь через адресную строку выполнить js?
0
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
12.04.2015, 22:28
Лучший ответ Сообщение было отмечено Igor Fender как решение

Решение

вызвать сайт по РНР - нет проблем (читай сокеты)
по JS - чуть сложнее, нужно чтобы вторая сторона это позволяла (по заголовку Access-Control-Allow-Origin)

Опасно - конечно да!
НО
Код клиенту отдается в открытом виде. И сервер вообще-то и не знает, как к нему пришел ответ - была ли нажата кнопка или вызвана ф-ция. Он принимает лишь НТТР запросы. Как они были сформированы - не всегда можно узнать.

Добавлено через 2 минуты
одно из простых решений - зайди на сайт, нажми на кнопку, перехвати запрос.
сформируй его посредством сокета
енджой
1
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167
12.04.2015, 22:36  [ТС]
saden, Я просто не могу понять принцип работы JS. Вы говорите, что нужно соглашение второй стороны. Сейчас я открываю консоль и пишу alert("Hello"); и мне от cyberforum.ru приходит сообщение. Тогда почему я не могу точно также написать в консоле что нибудь типа: $("something").click(); ?
0
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
12.04.2015, 22:38
Лучший ответ Сообщение было отмечено Igor Fender как решение

Решение

Уверены, что ответ приходит от cyberforum.ru ?
Это выполняется код в браузере, просто его имя - cyberforum.ru .
То же самое, что сохранить страницу, изменить ее код и заново отркыть. Это НЕ общение клиент-сервер
1
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167
12.04.2015, 22:43  [ТС]
saden, Спасибо, с этим разобрался.
А для обычного виртуального нажатия на кнопку с помощью js (также как это делает пользователь) тоже нужно соглашение второй стороны?
Мне нужна простоя программа, которая нажимает кнопку за меня
0
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
12.04.2015, 22:46
Лучший ответ Сообщение было отмечено Igor Fender как решение

Решение

еще раз:
"нажать на кнопку" - значит отправить запрос серверу. Вариант 1) доверить это самому сайту (клиенту) и сэмулировать в браузере нажатие (глуповатый вариант) 2) сразу сформировать запрос серверу, идентичный нажатию кнопки (логичный вариант)
1
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167
12.04.2015, 22:48  [ТС]
saden, Спасибо Большое!!! Вы мне очень помогли!
0
 Аватар для saden
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
12.04.2015, 22:49
Лучший ответ Сообщение было отмечено Igor Fender как решение

Решение

пример: если по нажатию кнопки на сайт идет запрос типа ввв.сайт.ком/?кнопка=нажата, то любая функция, отправляющая этот текст будет идентична кнопке
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.04.2015, 23:13
Igor Fender, способов много

самый простой -- создать аналог нужной вам формы

объяснять теорию не буду, покажу на примере
1) через гугль нашёл действующую бесплатную гостевую книгу - http://xbase.ru/index.php?kwn
2) нажал там на ссылку "добавить сообщение" -- открылась форма
3) выделил мышкой форму и "просмотрел исходный код выделенного фрагмента"
4) нашёл там теги <form></form>, убрал всё лишнее и получил
HTML5
1
2
3
4
5
6
7
<form method="post" action="http://xbase.ru/add.php?username=kwn&mess_id=0">
 
<p><input name="name" value="kalabuni">
<p><input name="email" value="">
<p><input name="url" value="">
<p><textarea name="message">test for cyberforum</textarea>
</form>
5) потом как бы заполнил поля формы и добавил скрипт автосабмита, получилось следующее:
HTML5
1
2
3
4
5
6
7
8
9
10
<form method="post" action="http://xbase.ru/add.php?username=kwn&mess_id=0">
 
<p><input name="name" value="kalabuni">
<p><input name="email" value="">
<p><input name="url" value="">
<p><textarea name="message">test for cyberforum</textarea>
</form>
<script>
document.forms [0].submit ()}
</script>
6) сохранил последний код как HTML-файл и запустил его в браузере

как видите -- http://xbase.ru/index.php?kwn -- всё сработало -- сообщение от kalabuni 12.04.2015 | 23:01 с текстом "test for cyberforum"
1
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167
12.04.2015, 23:15  [ТС]
kalabuni, Спасибо за пример! Все работает как надо
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.04.2015, 23:22
рад за вас
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.04.2015, 23:22
Помогаю со студенческими работами здесь

Отключение отправки формы
Добрый вечер! Подскажите пожалуйста, как отключить отправку формы при нажатии на кнопку? Объясню в чем проблема. Есть форма, которую...

Вывод модальной формы после отправки формы AJAX
Здравствуйте, помогите, пожалуйста, разобраться, есть модальная форма arcticmodal для просмотра этой формы можно найти её в поисковике, она...

Не работает JQ после отправки формы
Доброго времени суток! Я начинаю осваивать JQ и появилась такая проблема - у меня есть страница(site/kabi), а на странице форма. Когда я...

Перехват отправки данных формы
Здравствуйте! как можно проверить данные формы после как пользователь нажал submit. При этом, если что-то не заполнено то отправка не...

Очистка формы после отправки
Всем привет. Есть сайт на нем есть несколько форм для отправки заказа. Если, например нажать на кнопку в шапке &quot;заказать звонок&quot;,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru