SYSTEM_KDです。
AndroidでJSOUPを使う。その1(基本的な使い方 GET, POST, クッキーについて)の続きです。
前回書き漏らしたけど、その2に入れるには大したこと無いネタなのでその1.5として書きたいと思います。
内容としてはタイトル通りなのですが、POSTでの送信とCookieの取得については個別に書いたのですが、POSTを受けたWEB側の処理でCookieが変更された場合、前回記載した方法では取得することができません。
POSTした結果と共にCookieを取得するには下記の様に行います。
// Connectionを作成
Connection conn = Jsoup.connect("URLを指定");
// POSTするパラメータを設定
HashMap<String, String> param = new HashMap<String, String>();
// POSTを行いレスポンスを取得
Connection.Response res = conn.data(param).method(Method.POST).execute();
// レスポンスからCookieを取得
Map<String, String> cookies = res.cookies();
// レスポンスからDocumentを取得
Document doc = res.parse();
やってること自体は大したことないですが、
最初は方法を見つけるのにかなり時間がかかりました ^^;
重要な部分は見ての通り7行目以降の部分になります。
結果を受け取る際に、「Document」を取得するのではなく「Response」を取得しそこから必要な情報を取り出す様な流れとなります。
0 件のコメント:
コメントを投稿