ホームページ >ウェブフロントエンド >jsチュートリアル >httpclient シミュレートされたログインの具体的な実装 (js を使用して Cookie を設定する)_JavaScript スキル

httpclient シミュレートされたログインの具体的な実装 (js を使用して Cookie を設定する)_JavaScript スキル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-05-16 17:09:43717ブラウズ

httpclient はログインをシミュレートします (js を使用して Cookie を設定します)

コードをコピー コードは次のとおりです:



<script>document.cookie='utmpnum=51;path=/;domain=.' window.location.host</script> ='utmpkey= 20154732;path=/;domain=.' window.location.host
<script>document.cookie='utmpuserid=yay;path=/;domain=.' .host</script>


h4ttpclient 4.3:

最も簡単な方法は、取得した Cookie を使用して httpclient をカスタマイズすることです。上記の例によれば、方法は次のとおりです。

コードをコピーします コードは次のとおりです:
CookieStore cookieStore = new BasicCookieStore()

for (int i = 0; i < 3; i ) {
文字列名;
文字列値;
s=s.indexOf("document.cookie");
flag=s.indexOf(' =');
name=s.substring(0, flag);
value=s.substring(flag 1, s.indexOf(';'));
BasicClientCookie = new BasicClientCookie(name) ,
value);
cookie.setVersion (0);
cookie.setDomain(".www.zju88.org"); //この URL は window .location.host の戻り値
cookie.setPath("/");
cookieStore.addCookie(cookie);
}
// ストアを設定します
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build()


android:
長い間検索しましたが、上記の API に対応するメソッドが見つかりませんでした。Cookie を追加できるのは、各訪問の前にのみです



コードをコピー コードは次のとおりです。 String cookie="";
for (int i = 0; i String name; >文字列値;
int flag=s.indexOf("document.cookie");
flag=s.indexOf('='); >name=s.substring(0, flag);
value= s.substring(flag 1, s.indexOf(';'));
cookie =name "= value; 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 では、js を実行する htmlunit クラスも使用できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。