httpclient mensimulasikan login (gunakan js untuk mengatur cookie)
Copy kode kodenya sebagai berikut:
<html>
<meta http-equiv='Jenis Konten' content='teks/html; charset=gb2312'>
<link rel=stylesheet type=teks/css href='/bbs.css'>
<skrip>document.cookie='utmpnum=51;path=/;domain=.' + window.location.host</script>
<skrip>document.cookie='utmpkey=20154732;path=/;domain=.' + window.location.host</script>
<skrip>document.cookie='utmpuserid=yay;path=/;domain=.' + window.location.host</script>
<meta http-equiv='Segarkan' konten='0; url=/halaman pertama.php'>
klien h4ttp 4.3:
Cara paling sederhana adalah dengan mengkustomisasi httpclient melalui cookie yang diperoleh. Berdasarkan contoh di atas, caranya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
CookieStore cookieStore = BasicCookieStore baru();
untuk (int saya = 0; saya < 3; saya++) {
nama string;
Nilai string;
int flag=s.indexOf("dokumen.cookie");
s=s.substring(bendera+17);
bendera=s.indexOf('=');
nama=s.substring(0, bendera);
nilai=s.substring(bendera+1, s.indexOf(';'));
Cookie BasicClientCookie = BasicClientCookie baru(nama,
nilai);
cookie.setVersion(0);
cookie.setDomain(".www.zju88.org"); //URL ini sesuai dengan nilai kembalian <span style="font-family: Arial, Helvetica, sans-serif;">window.location.host</ rentang>
kue.setPath("/");
cookieStore.addCookie(cookie);
}
// Atur toko
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.membangun();
android:
Saya mencari untuk waktu yang lama dan tidak dapat menemukan API yang sesuai dengan metode di atas. Saya hanya dapat menambahkan cookie sebelum setiap kunjungan.
Copy kode kodenya sebagai berikut:
rangkaian kue="";
untuk (int saya = 0; saya < 3; saya++) {
nama string;
Nilai string;
int flag=s.indexOf("dokumen.cookie");
s=s.substring(bendera+17);
bendera=s.indexOf('=');
nama=s.substring(0, bendera);
nilai=s.substring(bendera+1, s.indexOf(';'));
kue +=nama +"="+nilai;
jika(saya!=2)
kue+=";";
}
/*
* Setiap kali Anda mengakses jaringan
*/
HttpGet httpget = HttpGet baru(url);
httpget.addHeader("Kue",kue);
//Jika sudah ada cookie di httpclient, Anda mungkin perlu mengatur kebijakan cookie httpclient. Untuk detailnya, silakan periksa API resmi (:
Respons HttpResponse = httpclient.execute(httpget);
ps: Jika Anda menggunakan Java SE, Anda juga dapat menggunakan kelas htmlunit yang akan mengeksekusi js.