POST data with Java

  • Thread starter adrian.bartholomew
  • Start date
A

adrian.bartholomew

Hi. I'm trying to fill out online forms automatically with Java.
Things like posting to classified ads that would include signing in
and uploading pics etc. without having to go to the sites themselves.
I understand that I may have to obtain the POST variables.
Can anyone help me or point me in the right direction?

Thanks.
 
R

Roedy Green

Hi. I'm trying to fill out online forms automatically with Java.
Things like posting to classified ads that would include signing in
and uploading pics etc. without having to go to the sites themselves.
I understand that I may have to obtain the POST variables.
Can anyone help me or point me in the right direction?

See http://mindprod.com/jgloss/http.html for code listings. You can
also download. For a app that posts see
http://mindprod.com/applet/submitter.html
with source.
 
A

Arne Vajhøj

Hi. I'm trying to fill out online forms automatically with Java.
Things like posting to classified ads that would include signing in
and uploading pics etc. without having to go to the sites themselves.
I understand that I may have to obtain the POST variables.
Can anyone help me or point me in the right direction?

You can use (Http)URLConnection, but I will strongly
recommend something a bit more high level like Jakarta
HttpClient.

See a code snippet below.

Arne

=============================================

import java.io.IOException;

import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;

public class Login {
private HttpClient client;

public Login() {
client = new HttpClient();
}

public void login(String url,
String userField, String userValue,
String passField, String passValue) {
NameValuePair[] nvp = new NameValuePair[2];
nvp[0] = new NameValuePair(userField, userValue);
nvp[1] = new NameValuePair(passField, passValue);
post(url, nvp);
}
public String get(String url) {
GetMethod met = new GetMethod(url);
try {
client.executeMethod(met);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return met.getResponseBodyAsString();
}
public String post(String url, NameValuePair[] nvp) {
PostMethod met = new PostMethod(url);
if(nvp != null) {
met.setRequestBody(nvp);
}
try {
client.executeMethod(met);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return met.getResponseBodyAsString();
}
public static void main(String[] args) {
Login lgi = new Login();
lgi.login("http://arne:8080/useradmin/Login",
"username", args[0],
"password", args[1]);

System.out.println(lgi.get("http://arne:8080/useradmin/UserAdmin.jsp"));
}
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,188
Latest member
Crypto TaxSoftware

Latest Threads

Top