HttpClient utilise la méthode Post pour soumettre le code de source de données:
La copie de code est la suivante:
Poste de package;
Importer java.io.ioException;
import org.apache.commons.httpclient.header;
import org.apache.commons.httpclient.httpclient;
import org.apache.commons.httpclient.httpexception;
import org.apache.commons.httpclient.httpstatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.postMethod;
classe publique posthttp {
/ **
* @param args
* /
public static void main (String [] args) {
// Talage de méthode générée automatiquement de TODO
HttpClient httpClient = new httpClient ();
String url = "http://193.167.13.21/setup.cgi";
PostMethod PostMethod = new PostMethod (URL);
// Remplissez les valeurs de chaque champ de formulaire
NameValuepair [] data = {
nouveau nameValuepair ("id", "11"),
nouveau nameValuepair ("mtg", "0"),
Nouveau nameValuepair ("HaveCookie", "0"),
nouveau nameValuepair ("backid", "30"),
nouveau nameValuepair ("PSW", "mot de passe")
};
// Mettez la valeur de la forme dans le post-méthode
postMethod.setRequestbody (données);
// Exécuter la post-méthode
int statuscode = 0;
essayer {
statuscode = httpclient.executeMethod (postMethod);
} catch (httpexception e) {
// Bloc de capture généré automatiquement de TODO
e.printStackTrace ();
} catch (ioexception e) {
// Bloc de capture généré automatiquement de TODO
e.printStackTrace ();
}
// httpClient ne peut pas gérer automatiquement le transfert pour les demandes qui nécessitent des services ultérieurs tels que Post et PUT.
// 301 ou 302
if (statuscode == httpstatus.sc_moved_permanly || statuscode == httpstatus.sc_moved_temporly)
{
// retire l'adresse de la direction depuis le début
En-tête localisationheader = postMethod.getResponseHeader ("emplacement");
Emplacement de la chaîne = null;
if (emplacementheader! = null) {
location = locationHeader.getValue ();
System.out.println ("La page a été redirigée vers:" + emplacement);
}
autre {
System.err.println ("La valeur de champ de localisation est nul.");
}
retour;
}
autre
{
System.out.println (postMethod.getStatusline ());
String str = "";
essayer {
str = postMethod.getResponseBodyAsstring ();
} catch (ioexception e) {
// Bloc de capture généré automatiquement de TODO
e.printStackTrace ();
}
System.out.println (STR);
}
postMethod.releaseconnection ();
retour ;
}
}
// Ceci est les informations de connexion d'un processus d'authentification des utilisateurs
Le package de pot requis:
1. Commons-httpclient-3.1-rc1.zip http://jakarta.apache.org/commons/httpclient/downloads.html
2. Commons-codec-1.3.jar http://jakarta.apache.org/site/downloads/downloads_commons-code.cgi
3. Commons-Logging-API.jar dans le répertoire Tomcat 5.5 / bin dans Tomcat5.5 ou http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi