> I want to create an app which allows me to log into
> https://reg.racingpost.co.uk/cde/login_iframe_rp.sd
[quoted text clipped - 4 lines]
> with no success :///). Could you just show me direction in which I
> should go?
The "authentication" code is for BASIC authentication (and NTLM etc.)
which are HTTP based.
The page looks as if it is using FORM base authentication (which
is session based).
The solution is simply to login.
I have attached an example below.
Arne
import java.io.IOException;
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) throws Exception {
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) throws Exception {
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) throws Exception {
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) throws Exception {
Login lgi = new Login();
lgi.login("http://www.xxx.dk/login.php", "login_username",
args[0], "login_password", args[1]);
System.out.println(lgi.get("http://www.xxx.dk/something.php"));
}
}