httpclientアナログ登録の具体的な実現(js設定cookieを使用)
2470 ワード
httpclientアナログ登録(js設定cookieを使用)
一番簡単な方法は、得られたクッキーを通してhttpclientをカスタマイズすることです.上記の例によると、方法は以下の通りです.
私は長い間探しましたが、上記の方法に対応するAPIが見つかりませんでした.毎回訪問する前にクッキーを追加するしかないです.
document.cookie='utmpnum=51;path=/;domain=.' + window.location.host
document.cookie='utmpkey=20154732;path=/;domain=.' + window.location.host
document.cookie='utmpuserid=yay;path=/;domain=.' + window.location.host
h 4 ttpclient 4.3:一番簡単な方法は、得られたクッキーを通してhttpclientをカスタマイズすることです.上記の例によると、方法は以下の通りです.
CookieStore cookieStore = new BasicCookieStore();
for (int i = 0; i < 3; i++) {
String name;
String value;
int flag=s.indexOf("document.cookie");
s=s.substring(flag+17);
flag=s.indexOf('=');
name=s.substring(0, flag);
value=s.substring(flag+1, s.indexOf(';'));
BasicClientCookie cookie = new BasicClientCookie(name,
value);
cookie.setVersion(0);
cookie.setDomain(".www.zju88.org"); // window.location.host
cookie.setPath("/");
cookieStore.addCookie(cookie);
}
// Set the store
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build();
android:私は長い間探しましたが、上記の方法に対応するAPIが見つかりませんでした.毎回訪問する前にクッキーを追加するしかないです.
String cookie="";
for (int i = 0; i < 3; i++) {
String name;
String value;
int flag=s.indexOf("document.cookie");
s=s.substring(flag+17);
flag=s.indexOf('=');
name=s.substring(0, flag);
value=s.substring(flag+1, s.indexOf(';'));
cookie +=name +"="+value;
if(i!=2)
cookie+=";";
}
/*
*
*/
HttpGet httpget = new HttpGet(url);
httpget.addHeader("Cookie",cookie);
// httpclient cookie httpclient cookie , API (:
HttpResponse response = httpclient.execute(httpget);
ps:java SEを使えばhmlunit類も使えます.jsを実行します.