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

 

  Ex:AntiAdコマンド (ClientDump-Reg, ClientDump-Del)
  転送キャプチャによるダウンロード処理の流れ

Macro Top | Variables | Constants | Commands | Ex-Commands  


 

転送キャプチャとは




「転送キャプチャ」は、 Private Proxy(Service部) に実装されている機能で、 Private Proxyにおいて ネット側からWebブラウザ側にデータを転送する際、 そのデータを HTTPリクエスト単位で ファイルにキャプチャする機能です。

「転送キャプチャ」は主に、jpegやgifなどの画像、flvやmp4などの動画、mp3やwavなどのサウンドファイルなど バイナリファイルのキャプチャで使用します。
(HTMLなどのテキストのキャプチャについては HTTP応答キャプチャ を参照)

 

転送キャプチャによるダウンロードの仕組み


ダウンロードを開始するには、『プロセルピナ』View からマクロを使って 転送キャプチャ を登録します。
この登録は Private Proxy(Service部) に通知されます。
登録の内容は Host と Content-Type のキャプチャ条件、 callbackマクロのフルパス、 補助情報(SubInfo) の4項目です。

Private Proxyでキャプチャが開始されたとき、および 完了したときは、 Viewにそのことが通知されます。   Viewはこれを callbackマクロ を起動することでユーザーに通知します。

一般的に、キャプチャ完了で起動された callbackマクロで、 転送キャプチャの登録解除を行います。
この登録解除は Private Proxy(Service部) に通知されます。

転送キャプチャの 登録(ClientDump-Reg) と 解除(ClientDump-Del) は、 AntiAdコマンド で行います。
コマンドの詳細は AntiAdコマンド を参照してください。

 

一般的な流れ


転送キャプチャを登録

Viewから、 AntiAdコマンド転送キャプチャを登録します。
これにより、Private Proxy(Service部)転送キャプチャの登録が通知されます。

コマンド例

Ex:AntiAd: mode="ClientDump-Reg" dir=Dir.Work targetHost=".zoome.jp" ContentTypeList=str[0] O:waitId=strl["waitId"] O:result=strl[10] CallbackMacro=strl["cbm"] SubInfo=str["title"]

ContentTypeList=パラメータに、どのようなContent-Typeを指定すればよいかは HTTPアクセスログなどにより見当をつけます。
パラメータの詳細は AntiAdコマンド を参照してください。




動画の再生などを開始

Viewから WebブラウザにURLをプッシュするなどの方法で、 キャプチャするデータの受信を開始します。

コマンド例

Ex:launch: input[0]




キャプチャ開始が通知されます

Webブラウザでデータ受信(動画再生など)が開始されると、 Private Proxy(Service部) から Viewに、 キャプチャ開始が通知されます。

Viewから ユーザーへの キャプチャ開始の通知は、callbackマクロを起動する形で行われます。
callbackマクロは、「キャプチャ開始」と「キャプチャ完了」の2回起動されます。 キャプチャ開始で起動されたのか、キャプチャ完了で起動されたのかは、callbackマクロにおいて 渡さたパラメータによって判断し、処理を分岐させる必要があります。

「キャプチャ開始」の場合、 input[1] は CST の3文字です。




キャプチャ完了が通知されます

データ転送が完了すると、 Private Proxy(Service部) から Viewに、 キャプチャ完了が通知されます。

Viewから ユーザーへの キャプチャ完了の通知は、callbackマクロを起動する形で行われます。
callbackマクロは、「キャプチャ開始」と「キャプチャ完了」の2回起動されます。 キャプチャ開始で起動されたのか、キャプチャ完了で起動されたのかは、callbackマクロにおいて 渡さたパラメータによって判断し、処理を分岐させる必要があります。

「キャプチャ開始」の場合、 input[1] は CBM の3文字です。




キャプチャ登録を解除

「キャプチャ完了」で起動されたcallbackマクロで、 AntiAdコマンドにより 「転送キャプチャ登録の解除」を行います。

コマンド例

Ex:AntiAd: mode="ClientDump-Del" targetHost=".zoome.jp" ContentType="ALL" O:waitId=strl["waitId"] O:result=strl[10]

「転送キャプチャ登録の解除」を行なわない場合、 登録した条件に一致するデータの転送があったときに 再びキャプチャ処理が実行されます。




キャプチャ内容を取得

「キャプチャ完了」で起動されたcallbackマクロにおいて、 input[5] のパラメータで渡された内容が キャプチャファイルのフルパスになっています。

内容の取得は、 Ex:HttpDataConvertコマンドにより により行います。

コマンド例

Ex:HttpDataConvert: file=input[5] dest.Dir=Dir.DeskTop dest.MidName=strl["タイトル"] O:destfile=strl["destf"] O:result=strl["rslt"]

「転送キャプチャ登録の解除」を行なわない場合、 登録した条件に一致するデータの転送があったときに 再びキャプチャ処理が実行されます。


 

具体例


キャプチャ登録マクロ (zoome.jp動画のダウンロード)



上記例のマクロに対応するcallbackマクロの例




上記の2つは、 zoome.jp のサイトの動画をダウンロードするマクロの 具体的な例です。

2つのうちの1つ目のマクロは、 転送キャプチャを登録するもので、起動パラメータとして動画ページのURLを受け取ります (input[0])。
2つ目のマクロは 1つ目のマクロで指定される callbackマクロ です。

転送キャプチャを登録するマクロ(1つ目のマクロ)では、まず渡されたURL(input[0])にアクセスし、 ページのタイトル(titleエレメントの内容)を取得しています。
タイトルは、callbackマクロに渡したいので、AntiAdコマンドの SubInfo= に設定しています。 (callbackマクロでは、 SubInfo= で指定された内容を、 input[6] で受け取ることができます。)
SubInfo= に設定できるのは文字列に限りますが、何を設定するかは自由です。

この例では、AntiAdコマンドによる転送キャプチャの登録は 2回行っています。 パラメータが targetHost="^1" になっているものと targetHost=".zoome.jp" になっているものの2つです。
これはzoome.jpに送ったリクエストに対して、動画データを送信してくるホストが 12.34.56.78 のようなIP表示のものと、 zoome.jp 配下のもの(www.zoome.jp など) との2種類があり、どちらになるかがわからないためです。
その為、2つの転送キャプチャの登録を設定しておき、 キャプチャが完了した時点で この両方の転送キャプチャの登録の解除をします。

targetHost=パラメータに  ^ 記号 で開始される文字列を指定すると前方一致(StartsWith)で判断します。 例えば ^www. を指定すると www.example.com や www.microsoft.co.jp などがキャプチャ対象となります。
同じように、 ^1 を指定すると 123.456.789.012 や 100.200.300.400 のようなHostがキャプチャ対象となります。 ('1'から開始されないHostは対象外になりますが、 zoome.jpからのダウンロードでは問題ありません。)

targetHost=パラメータに  . 記号 で開始される文字列を指定すると  . 記号を含んだ後方一致(EndsWith) で判断します。
例えば .example.com を指定すると aaa.example.com や aaa.bbb.example.com のようなHostがキャプチャ対象となります。 (※ example.com のホストは example の前に  . 記号を持たないため 対象外です)
[BACK]
プロセルピナ