2011年9月23日金曜日

Login機能

プロバイダへログインする機能です。

前提条件:

WiFi接続設定が完了していること。

設定方法:
  1. WIFiの有効範囲へ移動してください。

  2. WIFiの接続が完了したことを確認してください。

  3. wRecXのメニューからネットワークを選択して、該当のSSIDを長押ししてください。

  4. 表示されたリストからログインの設定を選択してください。

  5. Login:
    アクセスポイントに接続した時、自動的にログインを行う(Auto)のか、手動(Manual)で行うのかを選択します。

    URL:
    ログイン用URLを指定します。通常のプロバイダの場合は指定する必要はありません。

    Action:
    formのactionを指定します。通常のプロバイダの場合は指定する必要はありません。

    Method:
    formのmethodを指定します。

    Element:
    ログイン用Formに送信する項目を設定します。(ログイン解析機能で項目の抽出が可能です)

  6. Elementの編集

  7. name:
    formの入力項目名を指定します。

    value:
    formの入力項目の値を指定します。

    password:
    value項目をパスワードとして表示します。

    hidden:
    ログイン解析機能で設定されるだけで、ログイン処理では使用していません。







  8. メニューの説明

  9. 保存:
    設定した内容をローカルデータベースに保存します。バックキーでは保存しないので注意してください。

    Formを隠す:
    Form項目を隠して、Element用表示エリアを確保します。

    Elementを追加:
    Elementを追加します。

    ログインのテスト:
    設定した内容でログインを行います。

    ログイン解析:
    ログイン用画面にアクセスして、Form及びInput項目をHTMLから解析します。


  10. ログイン解析機能について
  11. あらかじめログイン用のURL、入力項目等がわかっていれば良いのですが、一般的なプロバイダの場合はログイン用情報は公開されていないことが多いようです。(HTMLを見れば全て判るので、公開されていないというのは正確ではありませんが、ドキュメントとしてホームページ等には公開はされていないようです。)そこで、ログイン用画面を取得して、そのHTMLからForm情報と入力項目を解析する機能です。

    以下の手順でログイン画面の解析を行います
    1. ログイン用画面へのアクセス
    2. ログインの設定画面で「URL」が指定されている場合はそのURLへ、指定されていない場合はwRecXの設定画面の「Login/ログインチェック用ホスト」からURLを作成しWebViewを使用して画面を取得します。
    3. リダイレクト等の処理
    4. 要求へのレスポンスがリダイレクトされる場合は、WebViewが処理を自動的に行います。
    5. フォーム情報の取得
    6. 最終的に取得されたレスポンスからJavaScriptを使用してForm情報とElement情報を取得してダイアログに表示します。
    7. フォーム情報の保存
    8. ダイアログの保存ボタンが押された場合、Form情報とElement情報をログイン設定画面に反映させます。

  12. ログインテスト機能について
  13. 設定されているForm情報、Element情報にしたがってログイン情報をホストに送信し、実際にログインを試みます。
    1. URLが指定されている場合
    2. URL、Action、Elementに従って、指定されたMethodでホストにデータを送信します。
    3. URLが指定されていない場合
      • wRecXの設定画面の「Login/ログインチェック用ホスト」へのGET要求を行います。
      • レスポンスがリダイレクトまたはリフレッシュの場合は、指定されたURLへ再度GET要求を行います。
      • レスポンスがリダイレクトまたはリフレッシュ以外になるまで、要求を繰り返します。
      • レスポンスを解析してForm、Action、Elementを取得し、設定されている項目をマージします。
      • Form、Action、Elementから作成した要求をホストへ送信します。この時、レスポンスのFormにMethodの指定があれば、指定されたMethodで、指定がなければログインの設定で指定されたMethodを使って要求を送信します。

  14. Actionのオプション指示について
  15. Actionに「@noadjust」と指示された場合、ログイン画面のHTMLを解析したFormで指示されているactionを無視して、ログイン要求を作成します。
    通常はFormのactionでデータの送信先が指示されているので、ログイン画面のFormの送信先URLはログイン画面のURLからファイル名(URLの最後の要素)を除き、actionで指示された送信先を連結したものとなりますが、ログイン画面のURLへ再度要求を送信する必要のあるプロバイダがあるようです。(libidoor-webへのログインテスト中に判明)

    通常のブラウザでログインする場合はどのように処理されているのか不明ですが、libidoor-webについては、とりあえずこのオプションでログインできるようになりました。

0 件のコメント:

コメントを投稿