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

 



ダウンロードマクロ詳細


 
 
ダウンロードマクロは、インターネットからファイルをダウンロードする目的で実装された機能です。

充実したコマンド群により、単にファイルをダウンロードするだけでなく、 インターネットを使用する様々な操作に使用することができます。

 

 

ダウンロードマクロの自動選択について


ダウンロードフォームから、 ダウンロードマクロを起動する場合は、 ダウンロードマクロを自動選択させることができます。
(ダウンロードフォームは、 URLのドラッグ&ドロップか、  Download ボタン で開くフォームです)

  「使用するマクロファイル」欄(ダウンロードフォーム3段目)が省略されていた場合、 「プロセルピナ」は 「ダウンロードURL」(ダウンロードフォーム1段目) に指定されていたURLをヒントにして 最適なダウンロードマクロを推測し、使用します。
→ ダウンロードマクロの自動選択について

 

ダウンロードマクロとプロセルピナマクロの違い


ダウンロードマクロは、 プロセルピナマクロ にインターネットアクセス用の拡張コマンドをプラグインで追加実装したものです。
拡張コマンドが使えること以外は、 プロセルピナマクロと全く同じです。 拡張コマンドは全て Ex: から開始される名前になっています。
→ インターネットアクセス用の拡張コマンド
→ プロセルピナマクロ

ダウンロードマクロは、ダウンロードフォームから起動される以外にも、 テキストフォームメール作成フォームから呼び出して、 文字を修飾したり、編集するのに使用されています。
メール作成フォームでのダウンロードマクロの使用については、 メール作成フォームの「送信内容」タブ のページを参照してください。

 

パラメータをつけてマクロを実行する


パラメータをつけてマクロを実行するのには、次の3種の方法があります。

  「マクロ実行フォーム」から実行
  テキストフォームから実行
  「ダウンロードフォーム」から実行

パラメータをつけてマクロを実行する3つの方法
テキストフォームから実行するダウンロードマクロのサンプル

 

マクロに渡されるパラメータ


ダウンロードマクロの入力パラメタは、 プロセルピナマクロと同じように input[ ] の入力文字列配列に設定されます。

ダウンロードフォームでは、 「ダウンロードURL」と「オプション」を設定しますが、 これらがダウンロードマクロの入力パラメータになります。
「ダウンロードURL」の項目は そのまま入力パラメータの input[0] に、 「オプション」項目の設定値は
   ;; (半角セミコロン2つ)
で区切られて、 input[1]以降に設定されます。
例えば、 「ダウンロードURL」に http://www.example.com/abc.jpg を、「オプション」に
  aaa;;bbb;;ccc
の文字列を設定した場合は、入力パラメタ input[ ] に設定される内容は 次のようになります。

  input[0] : http://www.example.com/abc.jpg
  input[1] : aaa
  input[2] : bbb
  input[3] : ccc
  input.Length : 4

input[ ] に設定された内容がどう使われるかは、 それぞれのダウンロードマクロの処理によって違います。

  ファイルなどをダウンロードする目的でダウンロードマクロを作成する場合、他のダウンロードマクロとの操作感を統一するため、 input[1] にログインIDを、 input[2] にパスワードを 期待するように記述します。
マクロ実行時に、ログインIDとパスワードが必要となるのにそれが指定されていなかった場合、 Ex:ReadPasswコマンド で登録キーによる登録内容を参照するように マクロの処理を記述してください (登録キーを使わない場合はここでエラー終了します)。
  登録キーによる登録が無い場合は、 putコマンドなどで 適当なメッセージ(IDとパスワードが必要です、など) を表示して途中終了するように記述します。 途中終了する前に、 Ex:SetPasswDialogコマンド で、登録キーにログインIDとパスワードを登録するフォームを表示するようにしておくと、 ユーザーの登録処理にかかる手間を軽減することができます。

マクロに Ex:SetPasswDialogコマンド を記述することによって、 登録キーにログインIDとパスワードを登録するフォームが開きますが、 この処理はマクロの実行とは非同期に行われます。 Ex:SetPasswDialogコマンドで登録した内容を、そのマクロの次の行で参照することはできません。

 

セッション (Http-Cookieの管理)


ダウンロードマクロは、終了するまでHttp-Cookieを管理します。
Http-Cookieの管理は、実行したダウンロードマクロで独立しています。

例えば、サーバAにアクセスするダウンロードマクロを 同時に3つ実行した場合(セッション数が3)、 サーバAからは、「3人のユーザが同じIPを使用してアクセスしている」と判断されます。

サーバがログイン・ログアウトによるユーザー管理を行っている場合、 セッションとユーザーの関連づけはサーバ側の実装によって異なります。
サーバAへのログインに全て同じユーザーIDを使っても、マクロが別ならセッションも別のものになります。
セッションが別でも、IDが同じなら同じユーザーとみなすのか、 別のユーザーとみなすのかは、 サーバー側の実装によります。
サーバー側で「1ユーザーにつき1セッション」という制限を設けている場合、 同じユーザーIDでもう一つ他のマクロを起動してアクセスしようとすると、サーバからエラー応答されます。

ダウンロードマクロが終了すれば、使用していたHttp-Cookieは廃棄されます。
Ex:SaveCookieコマンドを使用すれば、 ダウンロードマクロで使用したHttp-Cookieをファイルに保存しておくことができます。 保存したHttp-Cookieは、 Ex:LoadCookieコマンドで ダウンロードマクロにロードすることができます。 このEx:SaveCookieコマンドとEx:LoadCookieコマンドをペアで使用することにより、 セッションを保存しておくことが可能です。
サーバー側の実装によっては 極度にログイン・ログアウトを繰り返すと 自動的にアカウントが停止される場合があります。 ダウンロードマクロを記述する場合、できるだけHttp-Cookieを保存・ロードするようにして、 ログイン・ログアウトを無駄に繰り返さないようにするとよいでしょう。

 

Ex:Http-Getコマンド と Ex:Http-Postコマンド


Webページへのアクセスを、ダウンロードマクロのコマンドで行うことができます。
Http-Getでアクセスする場合は Ex:Http-Getコマンド、 Http-Postでアクセスする場合は Ex:Http-Postコマンド を使用します。
どちらのコマンドも、User-Agentヘッダ、Refererヘッダの値を任意に指定できるので、 Webブラウザからのアクセスに近い動作をエミュレートすることができます。

実際に Ex:Http-GetコマンドEx:Http-Postコマンド を記述する場合、Webブラウザとサーバとの間で 具体的にどのようなヘッダが送受信されるのかを 確認しておく必要があります。
これらの情報は、 WebブラウザからHTMLのソースを見たり、 プライベートプロキシHttpアクセスログ を参照したりして調べることができます (Http-Postの場合、 「Httpアクセスログ」で記録されるのは、 ヘッダ部とポストデータの一部になります)。

Webアクセスするダウンロードマクロを記述する場合は、サーバに負荷をかけすぎないように注意します。 連続して同じサーバにアクセスするなどの場合は、 プロセルピナマクロのsleepコマンドを使用して、 アクセス間隔をとるようにします。

 

Private Proxyで「転送キャプチャ」する方法


マクロでPrivate Proxyを制御することによって、 Private Proxyを経由してWebブラウザに送られるデータを キャプチャ(転送キャプチャ) することができます。

転送キャプチャによるダウンロード処理の流れ

x

[BACK]
プロセルピナ