プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > ID & Password

 



ダウンロードマクロの書き方
ダウンロードマクロでログインパスワードを使う   (PROSERPINE Download Macro)


ダウンロードマクロでサーバにアクセスするとき、アクセス先のサーバの ログインIDとパスワード が必要になることがありますが、それらの値を『プロセルピナ』に記憶させておくことができます。
このページでは、そのようなダウンロードマクロを記述する手順を説明します。

『プロセルピナ』にログインIDとパスワードを記憶させる必要がない場合は Ex:InputFormコマンド や マクロパラメータ などの方法で、ユーザーから毎回、値を入力してもらいます。

 

パラメータでパスワードを指定する方法について


マクロを記述する方にとって楽なのは、 マクロ起動時のパラメータで、マクロ内部で使用するIDとパスワードを指定してもらう方法です。
ただしこの方法では、マクロのパラメータに何が必要か、ユーザーが覚えていなければなりません。
マクロはパラメータ無しで起動できるようにしておき、IDやパスワードは必要になった時点で Ex:InputFormコマンド のダイアログフォームで 対話的に取得するようにしておくと、ユーザーにとって使いやすいマクロになります。

ですが ユーザーは、マクロに使い慣れてくると、パラメータでIDとパスワードを指定する方が ダイアログより使いやすいと感じるようになるかもしれません。
そのため マクロを書くときは、IDとパスワードをダイアログで対話的に取得するように記述している場合でも、 マクロパラメータでそれらが指定されていた場合にはそちらを優先し、 Ex:InputFormコマンド などによる対話的取得はスキップするようにするといいでしょう。

更にマクロを使いやすくするには、次に説明するように、 『プロセルピナ』にIDとパスワードを暗号化して登録しておく方法を使用します。
登録は、 Ex:SetPasswコマンド や、 Ex:SetPasswDialogコマンド によってマクロから行うことができるほか、 ユーザーがView部メインフォームのメニューから 「Macro」→「パスワード設定」 の操作で行うことができます。

 

ダウンロードフォームから起動するマクロでのマクロパラメータ


ダウンロードフォームから起動されることを前提に書かれたダウンロードマクロは、 最初のマクロパラメータ(input[0])で、ダウンロード対象のURLを受け取ります。
このため、IDとパスワードが必要な場合は、 input[1] 以降で受け取るように、マクロを記述します。

例えば、ダウンロードフォームのオプション」欄
  USER_NAME;;USER_PASSWORD
と指定した場合、 マクロパラメータinput[1]で USER_NAME 、 input[2]で USER_PASSWORD を受け取ります。

 

マクロ先頭に登録キーを記述する


ログインIDとパスワードのペアを『プロセルピナ』に登録するには、 まず、 登録キー を決めます。 これはどのような文字列でもかまいません。

この登録キーを、マクロの中で #UsePassw:行 で指定します。
例えば、登録キーを
  test.LoginPassword
とするなら、マクロの先頭に
  #UsePassw: test.LoginPassword
のような行を記述します。

マクロで、ログインIDとパスワードのペアを2つ使用する場合は、登録キーは2つです。
#UsePassw:行は2行記述します。
例えば、登録キーを
  test.Password.01
  test.Password.02
とするなら、マクロファイルは次のような内容になります。



この例のように、 #UsePassw:行 があるマクロは、ユーザーが View部メインフォームのメニューから 「Macro → パスワード設定」と選択して IDとパスワードを登録(または変更)することが できるようになります。
逆に言えば、ユーザーは、 「Macro→パスワード設定」のメニューからは、 #UsePassw:行 の無いマクロを指定して、IDとパスワードを登録(または変更)することはできません。

このユーザー操作によるIDとパスワードの登録・変更については ダウンロードマクロで使うパスワードの登録・変更 を参照してください。

この例の test.Password.01 のような登録キーは、マクロ間で共有できます。
たとえば、マクロ login001.txt が、サーバ aaa.example.com にログインするIDとパスワードを Login.aaa の登録キーで使用しているときに、 同じ aaa.example.com に同じIDでログインするマクロ login002.txt も、 Login.aaa の登録キーを使用することができます。
ユーザーは、どちらかのマクロでIDとパスワードを登録すれば、その登録がもう一方のマクロでも使えるので、 再度登録する手間が省けます。

 

Ex:SetPasswコマンドで登録する


登録キーとそれに関連付けるIDとパスワードが既知の場合、 Ex:SetPasswコマンド を使用します。

  Ex:SetPassw: key="test.Password.01" id="user_id_xxx" passw="this_is_password";

key= で登録キーを、 id= にID、 passw= にパスワードを指定します。
Ex:InputFormコマンドで対話的にIDとパスワード値を取得し、この Ex:SetPasswコマンド で設定するといった使い方をします。

 

Ex:SetPasswDialogコマンドで登録する


この Ex:SetPasswDialogコマンド は、 Ex:InputFormコマンドEx:SetPasswコマンド を組み合わせたようなものです。

Ex:InputForm.Waitコマンド により、 ダイアログでユーザーがIDとパスワードを設定するのを 待ち合わせることが出来ます。
Ex:InputForm.Waitコマンド 終了後に、 Ex:ReadPasswコマンド でIDとパスワードを読み出します。

次の例は、nicovideo.jp の登録キーで登録されているIDとパスワードを Ex:SetPasswDialogコマンド で設定する例です。
マクロパラメータ input[1] に何も設定されていないときに、 nicovideo.jp の登録キーで登録されているIDとパスワードを読み出します (Ex:ReadPasswコマンド)。
登録が無かった場合、 Ex:SetPasswDialogコマンド でユーザーにダイアログを開き、 Ex:InputForm.Waitコマンド で入力を待ちます (waitSec=120 により120秒待ちます)。



Ex:SetPasswDialogコマンド で開いたダイアログに、ユーザーが値を設定して  OK ボタン で閉じると、 IDとパスワードは『プロセルピナ』に登録されるので、 それ以降の Ex:ReadPasswコマンド で読み出すことができます。

 

IDとパスワードの読み出し (Ex:ReadPasswコマンド)


登録したIDとパスワードの読み出しは、 Ex:ReadPasswコマンド で行います。

  Ex:ReadPassw: key="test.Password.01" O:id=str["id"]; O:passw=str["passw"];

取得できたかどうかは、文字列の長さから判定します。 key= に登録の無い登録キーが指定された場合、IDとパスワードの文字列長は0になります。

[BACK]
プロセルピナ