Wenn eine Website eine POST-Authentifizierung erfordert (bspw. über ein Login-Formular) um Daten herunterzuladen, kann man dies mit den üblichen Java-Klassen lösen (z.B. mit URLConnection, siehe hier: Sending a POST Request Using a URL). Wenn aber ein Session-Konzept mit Cookies mit ins Spiel kommt, wird dies schon schwieriger.
Wie gut, dass es die Apache Commons-Bibliotheken gibt. Damit geht es recht einfach (wie auf Tutorials.de beschrieben). Eine nette Gegenüberstellung der beiden Methoden gibt es hier: A Comparison of java.net.URLConnection and HTTPClient.
-
package JavaTest;
-
import org.apache.commons.httpclient.HttpClient;
-
import org.apache.commons.httpclient.cookie.CookiePolicy;
-
import org.apache.commons.httpclient.methods.GetMethod;
-
import org.apache.commons.httpclient.methods.PostMethod;
-
public class PostTest
-
{
-
{
-
try
-
{
-
HttpClient client = new HttpClient();
-
-
GetMethod getMethod1 = new GetMethod("http://example.org/geheim.php");
-
client.executeMethod(getMethod1);
-
-
PostMethod postMethod1 = new PostMethod("http://example.org/login.php");
-
postMethod1.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
-
postMethod1.addParameter("name", "stefan");
-
postMethod1.addParameter("pass", "geheim");
-
client.executeMethod(postMethod1);
-
-
client.executeMethod(getMethod1);
-
}
-
{
-
e.printStackTrace();
-
}
-
}
-
}
Wichtig wäre vielleicht noch, alle hierfür benötigten Bibliotheken einzubinden, damit man sich die vielen ClassNotFound-Exceptions sparen kann:











