The purpose of the code is to insert the parameters into the form, then submit the form, which in turn enters the data into the MySQL database. The problem is that the method does not publish data. I'm not sure what I'm doing wrong, I looked at so many questions, but nothing works.
Here is the form.
<form action="http://localhost/Documents/dataadded.php" method="post">
<b>Add a New Data</b>
<p>Email Address:
<input type="text" name="email_address" size="30" value="" />
</p>
<p>Email Pass:
<input type="text" name="email_pass" size="30" value="" />
</p>
<p>
<input type="submit" name="submit" value="Send" />
</p>
</form>
Here is the Java code.
public static void main(String[] args) {
String key1 = "email_address";
String key2 = "email_pass";
String key3 = "submit";
String param1 = "testemail@gmail.com";
String param2 = "password123";
String param3 = "Send";
try {
URL website = new URL("http://localhost/Documents/added.php");
Map<String,String> arguments = new LinkedHashMap<>();
arguments.put(key1, param1);
arguments.put(key2, param2);
arguments.put(key3, param3);
StringJoiner sj = new StringJoiner("&");
for(Map.Entry<String,String> entry : arguments.entrySet())
sj.add(URLEncoder.encode(entry.getKey(), "UTF-8") + "="
+ URLEncoder.encode(entry.getValue(), "UTF-8"));
byte[] out = sj.toString().getBytes(StandardCharsets.UTF_8);
int length = out.length;
HttpURLConnection connection = (HttpURLConnection) website.openConnection();
connection.setRequestMethod("POST");
connection.setFixedLengthStreamingMode(length);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
connection.setDoOutput(true);
connection.getOutputStream().write(out);
System.out.println(sj.toString());
InputStream response = connection.getInputStream();
@SuppressWarnings("resource")
Scanner scan = new Scanner(response);
String responsebody = scan.useDelimiter("\\A").next();
System.out.println(responsebody);
} catch (IOException e) {
e.printStackTrace();
}
}
If someone can shed light on what is wrong with the code, he will be very grateful.
source
share