プロセルピナ | ||||||||||
Top |
Internet |
Private Proxy |
Capture Device |
Download |
Config and Words |
Online Help |
Online Home |
|||
[BACK] | |||||||
☞
Top >
FileDownload >
Macro >
Ex: Command >
AntiAd >
ReqHdrEdit >
details
「httpリクエストヘッダ編集」の概要「httpリクエストヘッダ編集」は、 Private Proxy(Service部) がネット側にhttpリクエストを送信する際、 そのヘッダ部を任意に編集する機能です。 httpリクエストヘッダの例 この機能を使用するには、 Ex:AntiAdコマンドの ReqHdrEdit-addHostモード を使用してPrivate Proxyにターゲットのホストと、 Callbackマクロを登録します (解除は ReqHdrEdit-removeHostモード)。 現在の登録状況は Ex:AntiAdコマンドの ReqHdrEdit-dumpモード で参照することができます。 Ex:AntiAdコマンド httpリクエストヘッダ編集 登録マクロの例次のマクロを実行した後は、Webブラウザなどから http://example.2ch.net/test/bbs.cgi などにアクセスしたとき、 httpリクエストのヘッダ部がデスクトップにダンプされ(拡張子 bin のファイル)、 Private Proxyは、それの編集完了待ちになります。 Private Proxyは、編集完了を検出すると、そのヘッダを使用して(それまでのヘッダと入れ替えて) ネット側に送信します。 登録マクロの例 (Ex:AntiAdコマンドのReqHdrEdit-addHostモード) AntiAdコマンドでは host= と path= でターゲットを指定します。 host= では .2ch.net を指定しているので、 raicho.2ch.net や hatsukari.2ch.net などのホストが対象になります。 またこの例では同時に path= も指定して、ターゲットを、パスが /test/bbs. で開始されるものに限定しています。 例えば、 http://raicho.2ch.net/test/bbs.cgi http://hatsukari.2ch.net/test/bbs.cgi などのURLです。 ReqHdrEdit-addHostモードでの登録は一度行えば、ReqHdrEdit-removeHostモードで解除するまで消えません (PCを再起動してもService部の起動で自動的に登録されます)。 Private Proxyは、ターゲットのアクセスを検出すると、 ネット側への送信を中断し、 ヘッダ部分をコールバックマクロと同じフォルダに バイナリファイルで保存します (拡張子 bin のファイル)。 これがヘッダダンプファイルです。 例えば、ReqHdrEdit-addHostモードで、コールバックマクロにデスクトップにある「Sample.txt」というファイルを指定した場合、 Private Proxyで生成されるヘッダダンプファイルは、 デスクトップの「Sample.1234.bin」のようなファイルになります。 このヘッダダンプファイルのフルパスは、コールバックマクロに通知されています(input[5])。 Private Proxyは、 ヘッダダンプファイルを生成すると、そのファイルの編集完了を待ちます。 バイナリファイルですが、ヘッダ部はテキストコードなので、普通のテキストエディタでも編集可能です。 想定されている使われ方は、コールバックマクロで編集するものです。 Private Proxyは、 編集完了の検出を、.bin.editファイル が生成されたかどうかで判定しています。 例えば、ヘッダダンプファイルがデスクトップの「Sample.1234.bin」のファイルだった場合、 Private Proxyは、 デスクトップに「Sample.1234.bin.edit」のファイルが生成されるのを待ち、生成を確認すると そのファイルの内容をヘッダにして処理を再会します。 (ヘッダ編集をしない場合は、ヘッダダンプファイル(.bin)を .bin.edit にリネームするだけでOKです) 例えば、手動で編集する場合、「Sample.1234.bin」のファイルをテキストエディタで編集し、そのまま保存、 最後にそのファイルを「Sample.1234.bin.edit」にリネームします。 先に.bin.editファイルを生成しないでください。その時点で編集完了と判断されてしまいます。 コールバックマクロの例Callbackマクロは、View部で起動されます。 Private Proxyは、ターゲット検出の通知を View部に対して行った後、編集完了待ちになります。 Callbackマクロは、ReqHdrEdit-addHostモードでのパラメータ CallbackMacro= で、フルパスで指定します。 ヘッダダンプファイルは、このCallbackマクロと同じフォルダに生成されます。 上記例は、ヘッダ内にある Firefox の文字列(Firefoxを使ったときにUser-Agentヘッダに含まれる)を、 全て iPhone の文字列に変換しています。 (このマクロは、サーバがUser-Agentヘッダを解析したときにiPhoneからのアクセスと判定し、iPhone用ページを送ることを期待しています) input[1] は ReqHdrEdit の文字列(固定)、 input[2] はCallbackマクロのフルパスです。 リモートホスト名は、input[3] で通知されます。 これにより、リモートホスト名によって処理を分岐させることもできます。 ヘッダダンプファイル(.binファイル)は、input[5] で、フルパスで通知されます。 編集した .bin.editファイル は、 Private Proxy が使用した後は不要です。 使用したかどうかの通知は行われません。上記例では.bin.editファイルの生成5秒後に ワークフォルダに移動しています。 httpヘッダ編集の具体例【このサンプルの説明】 上記のマクロを、 パラメータ無しで起動したときは、ホスト名が youtube.com .youtube.com .ytimg.com .google.com のパターンに一致するものに対して、ヘッダ編集の対象であることを登録します (これらはYouTubeにアクセスしたときにアクセスされるホストです)。 マクロ起動時、del をパラメータにすると(input[0]) 上記の登録を全て解除して終了します。 マクロ起動時、dump をパラメータにすると(input[0]) 登録状況を出力して終了します。 このマクロは Callbackマクロ も兼ねています。 Callbackで起動されるときは、2つ目のパラメータ(input[1]) が、固定的に文字列 ReqHdrEdit に設定されているので、その場合を判定して Callbackマクロ としての処理を行います。 Callbackマクロとしての処理では、ヘッダ内の文字列 Firefox , Mozilla , Windows を全て iPhone に書き換えた、 .bin.editファイル を作成しています。 よって、このマクロを登録後にYouTubeのサイトにアクセスすれば、 YouTubeのサイトからはiPhone向けデザインのページで応答されます。 ※ UserAgentヘッダを入れ替えるだけなら、この「httpヘッダ編集機能」で行なうより、 「UserAgent置換機能」 で行なう方が便利で簡単です。 このサンプルでは「httpヘッダ編集機能」の説明のため、 UserAgentヘッダの編集を「httpヘッダ編集機能」で行なっています。 |
|||||||
[BACK] | |||||||
プロセルピナ |