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

 

  Ex:AntiAdコマンド
  User-Agent 置換 (UA-Repl)

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


 

【はじめに】 「User-Agent 置換」とは


「User-Agent 置換」は、 Private Proxy(Service部) がネット側にhttpリクエストを送信する際、 そのヘッダ部の含まれる User-Agentヘッダ の値を HTTPリクエスト単位で 任意の文字列に置換する機能です。

Ex:AntiAdコマンドの UA-Repl-addHostモード を使用してPrivate Proxyにターゲットのホストと、 置換文字列を登録します。
この登録は、 Ex:AntiAdコマンドの ReqHdrEdit-removeHostモード を使用して解除することができます。

現在の登録状況は Ex:AntiAdコマンドの UA-Repl-dumpモード で参照することができます。

 

書式


  Ex:AntiAd: (Parameters)  

Parameters
mode= : string, コマンドモード
  UA-Repl-addHost : ターゲットのホスト、置換文字列を登録
  UA-Repl-removeHost : 登録解除
  UA-Repl-dump : 登録情報をファイルにダンプ

UA-Repl-addHostモードでのパラメータ
  O:waitId= : string, Ex:InputForm.Waitコマンドの waitId= に指定する文字列変数。
  O:result= : string, コマンド実行結果 (OK: -or- NG:~)
  host= : string, ターゲットホスト
  UserAgent= : string, User Agent ヘッダの値を置換する文字列
  table.save : flag, 登録情報を保存 (Optional)

UA-Repl-removeHostモードでのパラメータ
  O:waitId= : string, Ex:InputForm.Waitコマンドの waitId= に指定する文字列変数。
  O:result= : string, コマンド実行結果 (OK: -or- NG:~)
  host= : string, ターゲットホスト
  table.save : flag, 登録情報を保存 (Optional)

UA-Repl-dumpモードでのパラメータ
  O:waitId= : string, Ex:InputForm.Waitコマンドの waitId= に指定する文字列変数。
  O:result= : string, コマンド実行結果 (OK: -or- NG:~)
  dir= : string, 出力先フォルダ
  table.save : flag, 登録情報を保存 (Optional)

 

UA-Repl-addHostモード (登録)


UA-Repl-addHostモードは、 host=パラメータ で指定したホストへのhttpリクエストに対し、そのhttpリクエストを送信する直前に User-Agentヘッダの値を置換することを登録するコマンドです。

host= の指定は、完全一致の他に、  .  (半角ドット記号) から開始することで、後方一致で指定することができます。
例えば、
  host=".example.co.jp"
と指定した場合、
  video.example.co.jp
  mp4.example.co.jp
  aaa.bbb.example.co.jp
  aaa.bbb.ccc.example.co.jp
のようなホストが対象になります (注: .example.co.jp の指定では example.co.jp は対象外です)。

全ホスト指定     (マクロVersion 20120323 以降)

パラメータ host=* を指定したときは「非優先全ホスト指定」になり、 !preferred を指定したときは「最優先全ホスト指定」になります。
「非優先全ホスト指定」を指定すると、対象となるホストが登録されていないときにもUser-Agent値が置換されるようになります。
「最優先全ホスト指定」での登録があると、ホスト個別の登録があってもそれらを全て無視し、 常に「最優先全ホスト指定」で登録されている値でUser-Agent値を置換します。

【例1】 host=".example.com" で登録した値 AAA と、host="*" で登録した値 BBB だけが登録されているときに、 www.example.com にアクセスすると User-Agent値は AAA に置換されますが、 それ以外のホストへのアクセスでは BBB に置換されます。

【例2】 host=".example.com" で登録した値 AAA と、 host="!preferred" で登録した値 BBB だけが登録されているときは、 どのホストにアクセスするときもUser-Agent値は BBB に置換されます。

O:result=パラメータで、 コマンド実行結果を設定する文字列変数を指定します。 正しく実行できた場合は OK: の文字列(3文字)が、それ以外は NG: で開始される文字列が設定されます。
OK: が設定されている場合は、コマンドが正常終了し、Private Proxyに 登録依頼が行われています (Private Proxyでの処理が正しく行えたかは、後述の Ex:InputForm.Waitコマンド で確認します)。

O:waitId=パラメータで、 応答待ちIDを設定する文字列変数を指定します。 コマンドが正常終了すると、応答待ちIDが設定されます。
このコマンド実行後は Ex:InputForm.Waitコマンド を実行し、 Private Proxyからの応答を取得する必要がありますが、 このときに O:waitId=パラメータ で受け取った値が必要になります。
これは、Ex:InputForm.WaitコマンドwaitId=パラメータ に、 Ex:AntiAdコマンドUA-Repl-addHostモード の O:waitId=パラメータ で指定した文字列変数をそのまま指定すればOKです。

Private Proxyで正しく受付られたかどうかは Ex:InputForm.WaitコマンドO:result= で取得できた文字列値で判定します。
正しく受付られた場合は OK: の文字列(3文字)が、それ以外は NG: で開始される文字列が設定されます。

コマンドで table.save を指定したときは、コマンド終了時の登録状況をファイルに保存します。
保存された内容は次のService部起動時に自動的に読み込まれます。
table.save を指定しないときでも、 Service部は終了するときに登録情報を自動的に保存し、起動されたときにそれを読み込むので、 一度登録した内容は(UA-Repl-removeHostモードで)解除するまで有効です。 ただし、WindowsのシャットダウンでService部を終了させたときは、保存されないときがあります。

 

UA-Repl-removeHostモード (解除)


UA-Repl-addHostモードで登録したhttpリクエストヘッダ編集は、 UA-Repl-removeHostモードで解除できます。


コマンド例

 

UA-Repl-dumpモード (登録状況参照)


登録情報を参照するには UA-Repl-dumpモード を使用します。
Private Proxyは、UA-Repl-dumpモードのコマンドをうけつけると dir=パラメータ で指定したフォルダに、登録状況を書き出します。




【コピペで確認】 上記のサンプルコードは メモ帳モードで開いたテキストフォームにコピー&ペーストして、 テストモード実行で 動作確認することができます。

 

User-Agentヘッダ値をiPhoneに設定する例


次のマクロは、パラメータ reg で起動すると、 「.com , .net , .jp の各ドメインのホストにアクセスするときに User-Agentヘッダ値をiPhoneで設定される値に置換する登録」 を行います。

パラメータ del で起動すると、登録を解除します。

パラメータ無しで起動すると、現在の登録をデスクトップのファイルに出力します。


登録/解除のマクロ例

 

【参考】 このマクロを使っている処理


User Agentヘッダ値の制御

View部トップメニューから
  「PrivateProxy」→「Webブラウザの設定」→「User-Agent値設定(User-Agent)...」
を選択すると、macroフォルダ
  zzSystem-replaceUserAgent.txt
というマクロを起動します。
このマクロはEx:AntiAdコマンドのUser-Agent置換機能を使用して処理しています。


User-Agentヘッダ値をスマートフォン(iPhone OS5.1 など) に設定してPCのブラウザからアクセスした例

  (YouTube)         (毎日新聞)

[BACK]
プロセルピナ