httpclient simula login (use js para definir cookies)
Copie o código do código da seguinte forma:
<html>
<meta http-equiv='Content-Type' content='text/html;
<link rel=stylesheet type=text/css href='/bbs.css'>
<script>document.cookie='utmpnum=51;path=/;domain=.' + window.location.host</script>
<script>document.cookie='utmpkey=20154732;path=/;domain=.' + window.location.host</script>
<script>document.cookie='utmuserid=yay;path=/;domain=.' + window.location.host</script>
<meta http-equiv='Atualizar' content='0;
h4ttpclient 4.3:
O método mais simples é customizar um httpclient através do cookie obtido. Conforme o exemplo acima, o método é o seguinte:
Copie o código do código da seguinte forma:
CookieStore cookieStore = new BasicCookieStore();
for (int i = 0; i < 3; i++) {
Nome da sequência;
Valor da sequência;
int flag=s.indexOf("document.cookie");
s=s.substring(flag+17);
flag=s.indexOf('=');
nome=s.substring(0, sinalizador);
valor=s.substring(flag+1, s.indexOf(';'));
Cookie BasicClientCookie = new BasicClientCookie(nome,
valor);
cookie.setVersion(0);
cookie.setDomain(".www.zju88.org"); //Este URL corresponde ao valor de retorno de <span style="font-family: Arial, Helvetica, sans-serif;">window.location.host</ período>
cookie.setPath("/");
cookieStore.addCookie(cookie);
}
// Define a loja
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.construir();
andróide:
Pesquisei muito e não consegui encontrar a API correspondente ao método acima. Só consigo adicionar cookies antes de cada visita.
Copie o código do código da seguinte forma:
String cookie="";
for (int i = 0; i < 3; i++) {
Nome da sequência;
Valor da sequência;
int flag=s.indexOf("document.cookie");
s=s.substring(flag+17);
flag=s.indexOf('=');
nome=s.substring(0, sinalizador);
valor=s.substring(flag+1, s.indexOf(';'));
cookie +=nome +"="+valor;
se(eu!=2)
biscoito+=";";
}
/*
* Cada vez que você acessa a rede
*/
HttpGet httpget = novo HttpGet(url);
httpget.addHeader("Cookie",cookie);
//Se já houver cookies no httpclient, pode ser necessário definir a política de cookies do httpclient. Para obter detalhes, verifique a API oficial (:
Resposta HttpResponse = httpclient.execute(httpget);
ps: Se você estiver usando java SE, também poderá usar a classe htmlunit, que executará js.