A cópia do código é a seguinte:
importar java.io.bufferedReader;
importar java.io.ioException;
importar java.io.inputStream;
importar java.io.inputStreamReader;
importar org.apache.commons.httpclient.defaultThtpMethodRetryHandler;
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;
classe pública testhttpclient {
public static void main (string [] args) {
// TODO Method Stub
// define uma instância de httpclient
HttpClient httppClient = new httpClient ();
// Crie uma instância do método get
GetMethod getMethod = new getMethod ("http://vevb.com");
// Use a política de recuperação padrão fornecida pelo sistema
//getMethod.getparams().setParameter(httpMethodParams.retry_handler, new DefaultTttpMethodRetRyHandler ());
// Crie uma instância do método de postagem
Postmethod postmethod = new utf8postMethod ("http://vevb.com");
//
//// preencha os valores de cada campo de formulário
// namevaluepair [] data = {new nameValuepair ("user_name", "user_name"), new nameValuepair ("senha", "senha")};
//
//// Coloque o valor do formulário no método de postagem
//PostMethod.SetRequestbody(Data);
//
//PostMethod.getParams (). SetParameter (
//"http.protocol.cookie-policy",cookiepolicy.browser_compatibility);
//PostMethod.SetRequestHeader("Referer "," http://vevb.com ");
tentar{
// execute o método get
// int statusCode = httpclient.executemethod (getMethod);
// executar o método de postagem
int statuscode = httpclient.executemethod (postmethod);
if (statuscode == httpstatus.sc_moved_temporariamente) {
Localização do cabeçalho = PostMethod.GetResponseHeader ("Localização");
String Location = NULL;
if (locationheader! = null) {
Localização = LocationHeader.getValue ();
}
PostMethod = new PostMethod (Localização);
postmethod.setRequestHeader ("referente", "http://vevb.com/login");
NameValuepair [] data1 = {new nameValuepair ("user_name", "user_name"), new nameValuepair ("senha", "senha")};
postmethod.setRequestbody (data1);
postmethod.getparams (). setParameter (
"http.protocol.cookie-policy", cookiepolicy.browser_compatibility);
int statusCode1 = httpclient.executemethod (pós -metódico);
if (statusCode1! = httpstatus.sc_ok) {
System.out.println ("Método está errado" + postmethod.getStatusline ());
}
}
if (statuscode! = httpstatus.sc_ok) {
System.out.println ("Método está errado" + postmethod.getStatusline ());
}
InputStream ResponsBody = PostMethod.GetResponseBodyAssTream ();
BufferredReader Reader = new BufferredReader (new InputStreamReader (ResponseBody, "UTF-8"));
Linha de string = reader.readline ();
while (linha! = null) {
System.out.println (new String (line.getBytes ()));
linha = leitor.readline ();
}
}
Catch (httPexception e) {
// TODO: lidar com a exceção
System.out.println ("Por favor, verifique o endereço HTTP fornecido!");
E.PrintStackTrace ();
} catch (ioexception e) {
// TODO: lidar com a exceção
System.out.println ("A linha está errada!");
E.PrintStackTrace ();
} finalmente{
getMethod.releaseconnection (); // Libere o link
postmethod.releasEConnection ();
}
}
// Classe interna para suporte UTF-8
Classe estática pública utf8postMethod estende Postmethod {
public UTF8PostMethod (String URL) {
super (url);
}
@Override
public String getRequestCharset () {
// retorna super.getRequestCharset ();
retornar "UTF-8";
}
}
}