httpclient simula el inicio de sesión (use js para configurar cookies)
Copie el código de código de la siguiente manera:
<html>
<meta http-equiv='Tipo de contenido' content='text/html charset=gb2312'>
<enlace rel=tipo de hoja de estilo=text/css href='/bbs.css'>
<script>document.cookie='utmpnum=51;ruta=/;dominio=.' + ventana.ubicación.host</script>
<script>document.cookie='utmpkey=20154732;path=/;domain=.' + ventana.ubicación.host</script>
<script>document.cookie='utmpuserid=yay;ruta=/;dominio=.' + ventana.ubicación.host</script>
<meta http-equiv='Actualizar' contenido='0; url=/firstpage.php'>
h4ttpclient 4.3:
El método más sencillo es personalizar un cliente http a través de la cookie obtenida. Según el ejemplo anterior, el método es el siguiente:
Copie el código de código de la siguiente manera:
CookieStore cookieStore = nuevo BasicCookieStore();
para (int i = 0; i < 3; i++) {
Nombre de cadena;
Valor de cadena;
int bandera=s.indexOf("documento.cookie");
s=s.substring(bandera+17);
bandera=s.indexOf('=');
nombre=s.substring(0, bandera);
valor=s.substring(bandera+1, s.indexOf(';'));
Cookie BasicClientCookie = nueva BasicClientCookie(nombre,
valor);
cookie.setVersion(0);
cookie.setDomain(".www.zju88.org"); //Esta URL corresponde al valor de retorno de <span style="font-family: Arial, Helvetica, sans-serif;">window.location.host</ lapso>
cookie.setPath("/");
cookieStore.addCookie(cookie);
}
// Configurar la tienda
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCookieStore(tiendadecookies)
.construir();
androide:
Busqué durante mucho tiempo y no pude encontrar la API correspondiente al método anterior. Solo puedo agregar cookies antes de cada visita.
Copie el código de código de la siguiente manera:
Cadena de cookies="";
para (int i = 0; i < 3; i++) {
Nombre de cadena;
Valor de cadena;
int bandera=s.indexOf("documento.cookie");
s=s.substring(bandera+17);
bandera=s.indexOf('=');
nombre=s.substring(0, bandera);
valor=s.substring(bandera+1, s.indexOf(';'));
cookie +=nombre +"="+valor;
si(yo!=2)
galleta+=";";
}
/*
* Cada vez que accedes a la red
*/
HttpGet httpget = nuevo HttpGet(url);
httpget.addHeader("Cookie",cookie);
//Si ya hay cookies en httpclient, es posible que deba configurar la política de cookies de httpclient. Para obtener más información, consulte la API oficial (:
Respuesta HttpResponse = httpclient.execute(httpget);
ps: si está utilizando java SE, también puede utilizar la clase htmlunit, que ejecutará js.