Passing data to html HTML form using Java

I have an HTML form that looks something like this:

<form name="form1" method="post" action="/confirm.asp"> <input type="text" name="data1" size="20" value=""><br> <input type="text" name="data2" size="20" value=""><br> <input type="Submit" name=submit value="Submit"> </form> 

I want to use Java to transfer data to data1 and data2 and read the page that follows when submitting the form. Since this is a = post method, I cannot use http://somesite.com/confirm.asp?data1=foo&data2=foo .

Can anyone help?

+4
source share
4 answers
 /* create a new URL and open a connection */ URL url = new URL("http://somesite.com/confirm.asp"); URLConnection con = url.openConnection(); con.setDoOutput(true); /* wrapper the output stream of the connection with PrintWiter so that we can write plain text to the stream */ PrintWriter wr = new PrintWriter(con.getOutputStream(), true); /* set up the parameters into a string and send it via the output stream */ StringBuilder parameters = new StringBuilder(); parameters.append("data1=" + URLEncoder.encode("value1", "UTF-8")); parameters.append("&"); parameters.append("data2=" + URLEncoder.encode("value2", "UTF-8")); wr.println(parameters); wr.close(); /* wrapper the input stream of the connection with BufferedReader to read plain text, and print the response to the console */ BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); String line; while((line = br.readLine()) != null) System.out.println(line); br.close(); 
+3
source

Here is the code from Link . Hope this helps you :)

 import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.net.HttpURLConnection; import java.net.URL; public class HttpPostForm { public static void main(String[] args) { try { URL url = new URL( "http://www.aaaa.com/xyz.asp" ); HttpURLConnection hConnection = (HttpURLConnection) url.openConnection(); HttpURLConnection.setFollowRedirects( true ); hConnection.setDoOutput( true ); hConnection.setRequestMethod("POST"); PrintStream ps = new PrintStream( hConnection.getOutputStream() ); ps.print("param1=abcd&amp;param2=10341"); ps.close(); hConnection.connect(); if( HttpURLConnection.HTTP_OK == hConnection.getResponseCode() ) { InputStream is = hConnection.getInputStream(); OutputStream os = new FileOutputStream("output.html"); int data; while((data=is.read()) != -1) { os.write(data); } is.close(); os.close(); hConnection.disconnect(); } } catch(Exception ex) { ex.printStackTrace(); } } } 
+3
source

To write a POST request in Java, you must connect to the destination URL via URLConnection, where you then write the header border bytes, the boundary message (where the keys, values, and any other request data are placed), and the final border.

I wrote the PostProcess class for my application, which allows you to load asynchronous POST request requests, key-value parameters, file parameters (i.e. input for uploading files in the form), and tracking the progress of loading. It also records the server response.

For size and readability, I downloaded the code from outside http://textu.be/T

+2
source

Try the following codes

 String url="www.somesite.com"; Document doc = Jsoup.connect(url).data("data1", "foo").data("data2","foo") .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6") .referrer("http://www.google.com").post(); 
0
source

All Articles