Httpclient utiliza el método de publicación para enviar el código fuente de datos:
La copia del código es la siguiente:
Publicación de paquete;
import java.io.ioException;
importar org.apache.commons.httpclient.header;
importar org.apache.commons.httpclient.httpclient;
importar org.apache.commons.httpclient.httpexception;
importar org.apache.commons.httpclient.httpstatus;
importar org.apache.commons.httpclient.nameValuePair;
importar org.apache.commons.httpclient.methods.postmethod;
clase pública posthttp {
/**
* @param args
*/
public static void main (string [] args) {
// TODO STUB de método generado automático
HttpClient httpClient = new httpClient ();
String url = "http://193.167.13.21/setup.cgi";
Postmethod postmethod = new Postmetod (URL);
// Complete los valores de cada campo de formulario
NameValuePair [] data = {
nuevo nameValuePair ("id", "11"),
nuevo nameValuePair ("mtg", "0"),
nuevo nameValuePair ("Havecookie", "0"),
nuevo nameValuePair ("BackId", "30"),
NUEVO NAMEVALUEPAIR ("PSW", "Contraseña")
};
// Ponga el valor de la forma en el postmethod
postmethod.setRequestBody (datos);
// ejecutar postmetod
int statuscode = 0;
intentar {
statuscode = httpclient.executemethod (postmethod);
} catch (httpexception e) {
// bloque de captura generado automático
E.PrintStackTrace ();
} Catch (ioException e) {
// bloque de captura generado automático
E.PrintStackTrace ();
}
// httpclient no puede manejar automáticamente el reenvío de solicitudes que requieren servicios posteriores como POST y PUT.
// 301 o 302
if (statuscode == httpstatus.sc_moved_permanentlenty || statuscode == httpstatus.sc_moved_temporery)
{
// Saque la dirección de la dirección desde el principio
Encabezado UbicationHeader = postmethod.getResponseHeader ("ubicación");
Ubicación de cadena = nulo;
if (ubicación Header! = NULL) {
ubicación = ubicación Header.getValue ();
System.out.println ("La página fue redirigida a:" + ubicación);
}
demás {
System.err.println ("El valor del campo de ubicación es nulo");
}
devolver;
}
demás
{
System.out.println (postmethod.getStatUsline ());
Cadena str = "";
intentar {
str = postmethod.getResponseBodyAsstring ();
} Catch (ioException e) {
// bloque de captura generado automático
E.PrintStackTrace ();
}
System.out.println (str);
}
Postmethod.ReleaseConnection ();
devolver ;
}
}
// Esta es la información de inicio de sesión de un proceso de autenticación de usuario
El paquete jar requerido:
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-codec.cgi
3. Commons-logging-api.jar en el directorio Tomcat 5.5/bin en Tomcat5.5 o http://jakarta.apache.org/site/downloads/downloads_commonsogging.cgi