La copia del código es la siguiente:
import java.io.bufferedReader;
import java.io.ioException;
import java.io.inputstream;
import java.io.inputstreamreader;
importar org.apache.commons.httpclient.defaulthttpmethodcrynler;
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.cookie.cookiepolicy;
importar org.apache.commons.httpclient.methods.getmethod;
importar org.apache.commons.httpclient.methods.postmethod;
importar org.apache.commons.httpclient.params.httpmethodparams;
clase pública testHttpClient {
public static void main (string [] args) {
// TODO STUB de método generado automático
// Defina una instancia de httpclient
HttpClient httppclient = new httpClient ();
// Crear una instancia del método get
GetMethod getMethod = new GetMethod ("http://vevb.com");
// Utilice la política de recuperación predeterminada proporcionada por el sistema
//getmethod.getParams().setParameter(httpmethodparams.retry_handler, new DeFaUnthttpmethodcryHandler ());
// crear una instancia de método de publicación
Postmethod postmethod = new UTF8PostMethod ("http://vevb.com");
//
//// Complete los valores de cada campo de formulario
// nameValuePair [] data = {new NameValuePair ("user_name", "user_name"), new nameValuePair ("Password", "Password")};
//
//// Ponga el valor del formulario en el método de publicación
//postmethod.setRequestBody(data);
//
//postmethod.getParams (). SetParameter (
//"http.protocol.cookie-policy",cookiepolicy.browser_compatibility);
//postmethod.setRequestheader("referer "," http://vevb.com ");
intentar{
// ejecutar el método get
// int statuscode = httpclient.executemethod (getMethod);
// ejecutar el método de publicación
int statuscode = httpclient.executemethod (postmethod);
if (statuscode == httpstatus.sc_moved_temporery) {
Encabezado UbicationHeader = postmethod.getResponseHeader ("ubicación");
Ubicación de cadena = nulo;
if (ubicación Header! = NULL) {
ubicación = ubicación Header.getValue ();
}
postmethod = new Postmethod (ubicación);
postmethod.setRequestHeader ("Referente", "http://vevb.com/login");
NameValuePair [] data1 = {new NameValuePair ("user_name", "user_name"), new nameValuePair ("contraseña", "contraseña")};
postmethod.setRequestBody (data1);
postmethod.getParams (). setParameter (
"http.protocol.cookie-policy", cookiepolicy.browser_compatibility);
int statuscode1 = httpclient.executemethod (postmethod);
if (statuscode1! = httpstatus.sc_ok) {
System.out.println ("El método está mal" + postmethod.getStatUsline ());
}
}
if (statuscode! = httpstatus.sc_ok) {
System.out.println ("El método está mal" + postmethod.getStatUsline ());
}
InputStream ResponseBody = postmethod.getResponseBodyAssTream ();
BufferedReader lector = new BufferedReader (new InputStreamReader (ResponseBody, "UTF-8"));
String line = Reader.readline ();
while (line! = null) {
System.out.println (nueva cadena (line.getBytes ()));
línea = lector.readline ();
}
}
Catch (httpexception e) {
// TODO: Excepción de manejo
System.out.println ("¡Verifique su dirección HTTP proporcionada!");
E.PrintStackTrace ();
} Catch (ioException e) {
// TODO: Excepción de manejo
System.out.println ("¡La línea está mal!");
E.PrintStackTrace ();
} finalmente{
getMethod.ReleaseConnection (); // libera el enlace
Postmethod.ReleaseConnection ();
}
}
// Clase interior para soporte UTF-8
Public Static Class UTF8PostMethod extiende Postmetod {
public Utf8PostMethod (URL de cadena) {
super (url);
}
@Anular
public String getRequestCharset () {
// return super.getRequestCharset ();
devolver "UTF-8";
}
}
}