Red de conocimiento informático - Material del sitio web - ¿Cómo simular el inicio de sesión en el foro de Discuz y descargar el código html devuelto en Java?

¿Cómo simular el inicio de sesión en el foro de Discuz y descargar el código html devuelto en Java?

paquete org.shaw;

importar org.apache.commons.mons.";

static final int LOGON_PORT = 80;

cookie pública[] inicio de sesión( Nombre de cadena, Pas de cadena) {

prueba {

Cliente HttpClient = nuevo HttpClient();

client.getHostConfiguration().setHost(LOGON_ SITE, LOGON_PORT );

PostMethod post = new PostMethod("/logging.php?action=login");

client.executeMethod(post

Cadena de respuesta); = new String(post.getResponseBody(), "gbk");

post.releaseConnection();

String formhash = getFormHash(responseString);

System.out.println(formhash);

post = new PostMethod("/logging.php?action=loginamp;");

NameValuePair[] params = new NameValuePair[11 ];

params[0] = new NameValuePair("loginfield", "nombre de usuario");

params[1] = new NameValuePair("nombre de usuario", nombre

p>

params[2] = new NameValuePair("contraseña", pas

params[3] = new NameValuePair("referer", " index.php")

params[4] = new NameValuePair("questionid", "0");

params[5] = new NameValuePair("respuesta", "");

params[6] = new NameValuePair("cookietime", "2592000");

params[7] = new NameValuePair("formhash", formhash);

params[8] = new NameValuePair("loginmode", "");

params[9] = new NameValuePair("loginsubmit", "true"); 10] = nuevo NameValuePair ("styleid", "");

post.setRequestBody(params);

client.executeMethod(post);

// respuestaString = new String(post.getResponseBody(), "gbk"); /p>

post.releaseConnection();

GetMethod get = new GetMethod("/index.php");

client.executeMethod(get);

cadena de respuesta = new String(get.getResponseBody(), "gbk");

get.releaseConnection();

System.out.println(cadena de respuesta);

} catch (Excepción e) {

e.printStackTrace();

}

return null; > }

public String getFormHash(String htmlContent) {

prueba {

int start = htmlContent.indexOf("name=\"formhash\");

inicio = htmlContent.indexOf("value=\"", inicio) 7;

int end = htmlContent.indexOf("nombre=\"formhash\"");

inicio = htmlContent.indexOf("valor=\"", inicio) 7;

fin = htmlContent.indexOf("nombre=\"formhash\"", inicio);