Я хочу автоматически заполнить поле под названием «электронная почта» на веб-странице thesite.com/email.php, код которой примерно такой:
<input type="text" name="email" value="" size="24">
<br> <input type="submit" name="submit" value="Send">
И тогда, после заполнения поля, я также хотел бы выполнить действие «отправить».
Но я не знаю, как на самом деле сделать это с Java
Кто-нибудь может мне помочь?
Большое спасибо.
Чтобы программно отправить форму с помощью Java, вы не заполняете форму напрямую, а отправляете информацию о форме на страницу отправки через HTTP GET или POST. Вы не указали значение onsubmit в своем сообщении, но вы будете использовать URL-адрес этой веб-страницы и отправлять информацию формы через URLConnection. При использовании GET данные отправляются в строке запроса (где ключ / значение — параметры формы):
URL url = new URL("http://mywebsite/form-submit-webpage.php?key1=value1&key2=value2");
Если POST, вы должны использовать OutputStream URL-соединения для установки пар ключ / значение POST
URL url = new URL("http://mywebsite/form-submit-webpage.php");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
//write key value pairs to os.
Получив их, получите InputStream из URLConnection, чтобы прочитать результаты. Увидеть https://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html
Что вам нужно сделать, это создать форму в HTML и обработчик формы в PHP.
HTML-код размещения информации в «welcome.php»
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
welcome.php может обрабатывать переменные по-разному. Вот пример:
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
Файл передаст переменные по их именам. В этом примере имена — это «имя» и «электронная почта» с использованием метода post. В файле php вы получаете переменные, используя метод $ _POST.