chrome.webRequestに基づいてchrome-fiddlerを作成する(一)
3308 ワード
同前は読者に適応する
1.フィddlerを通じて調整したり、chromeブラウザを使うのが好きな学生
2.chromeプラグインの開発に興味がある学生
3.fiddlerについて知っている学生(本文ではfiddlerに関する基礎知識は話さない)
湖南省にある地名
1.実はfiddlerは大部分の機能を満たすことができます.そして、fiddlerに基づいてプラグインを開発することができます.しかし、fiddlerをオープンした後、chromeを通じてページを更新するのはとても遅くなりました.これはchromeを愛する多くの開発者がfiddlerを使用することを放棄しました.
2.多くの学生がuuntuやmacのシステムを使っていますが、uuntuにはまだfiddlerの代替品がないようです.Wirestharkがあると聞きましたが、使うのが面倒くさいです.もちろん方法があります.つまり、仮想マシンを作って、ウインドウを作って、中にfiddlerを入れて、apaacheを再開します.
問題に対する分析
上の問題に対して、実は第一の問題を解決したら、chromeの問題を解決したら、第二の問題を解決しました.他のシステムにもchromeがありますので、chromeをめぐって文章を作ることができます.また、fiddlerの作者のエリックにメールしたことがありますが、英語が下手な原因かもしれません.fiddlerはieシリーズとfirefoxシリーズでは大丈夫です.主にchromeです.だから、この問題はずっと悩んでいます.ちょうど私の同僚がいて、chromeプラグインを作りました.当時は統計の学生は統計の要求urlだけを見たいです.一部の関係ないurlをフィルタリングしてもいいです.chromeの下の開発者ツールのnetリストのフィルタリング機能はまた力がありません.そこで彼はchromeから提供されたwebRequestを使って、実際には要求を傍受し、そしてrequest Headerのパラメータを通していくつかのフィルタリングを行い、自分の見たい要求をカスタマイズしました.
webrequestが傍受できるなら、fiddler-scriptのようにrequestのurlを変更できますか?だから、私はプラグインを開発して試してもいいです.できれば、少なくともfiddlerのマッピング機能に取って代わることができます.つまり、住所を把握して、この住所を自分の欲しい住所にマッピングします.
シシシシサイは考え方を検証する
筆者は以前chromeプラグインを開発していませんので、まず科学普及してみます.http://code.google.com/chrome/extensions/getstarted.html
実はchromeプラグインを開発するのはとても簡単です.ここではchromeプラグインの基礎をあまり説明しません.
私の需要はバックグラウンドがあります.直接に要求を聞いて、その中の一つの要求をテストします.私の欲しい要求をマッピングしてくれるかどうかを確認します.ですから、本当はmaifest.jsonとbackgroundが必要です.
1.manifest.json(プラグインの基礎配置ファイルを書く)
2.background.background.js(バックグランド)、外鎖はbackground.jsです.
同前TODO
アイデアはすでに検証されていますが、以下の機能を実現するためには簡単版のfiddlerマッピング機能が必要です.
1.フロントインターフェースを必要とします.urlとのマッチングを設定します.
2. 複数のマップは、追加、削除、変更がサポートされます.
3. 地元のファイルについては、ファイルを選択することで選択できますか?
4. backgroundのライフサイクルはchromeが閉じる前に配置をずっと保存したいです.ローカルストレージをサポートする必要があります.html 5のlocal Storrageを通じて.
とりあえずこの四つの機能を実現しましょう.明日は終わります.今日はこれだけ書いて、あとは続けます. chrome.webRequestに基づいてchrome-fiddlerを作成します.ご注目ください.よろしくお願いします.
1.フィddlerを通じて調整したり、chromeブラウザを使うのが好きな学生
2.chromeプラグインの開発に興味がある学生
3.fiddlerについて知っている学生(本文ではfiddlerに関する基礎知識は話さない)
湖南省にある地名
1.実はfiddlerは大部分の機能を満たすことができます.そして、fiddlerに基づいてプラグインを開発することができます.しかし、fiddlerをオープンした後、chromeを通じてページを更新するのはとても遅くなりました.これはchromeを愛する多くの開発者がfiddlerを使用することを放棄しました.
2.多くの学生がuuntuやmacのシステムを使っていますが、uuntuにはまだfiddlerの代替品がないようです.Wirestharkがあると聞きましたが、使うのが面倒くさいです.もちろん方法があります.つまり、仮想マシンを作って、ウインドウを作って、中にfiddlerを入れて、apaacheを再開します.
問題に対する分析
上の問題に対して、実は第一の問題を解決したら、chromeの問題を解決したら、第二の問題を解決しました.他のシステムにもchromeがありますので、chromeをめぐって文章を作ることができます.また、fiddlerの作者のエリックにメールしたことがありますが、英語が下手な原因かもしれません.fiddlerはieシリーズとfirefoxシリーズでは大丈夫です.主にchromeです.だから、この問題はずっと悩んでいます.ちょうど私の同僚がいて、chromeプラグインを作りました.当時は統計の学生は統計の要求urlだけを見たいです.一部の関係ないurlをフィルタリングしてもいいです.chromeの下の開発者ツールのnetリストのフィルタリング機能はまた力がありません.そこで彼はchromeから提供されたwebRequestを使って、実際には要求を傍受し、そしてrequest Headerのパラメータを通していくつかのフィルタリングを行い、自分の見たい要求をカスタマイズしました.
webrequestが傍受できるなら、fiddler-scriptのようにrequestのurlを変更できますか?だから、私はプラグインを開発して試してもいいです.できれば、少なくともfiddlerのマッピング機能に取って代わることができます.つまり、住所を把握して、この住所を自分の欲しい住所にマッピングします.
シシシシサイは考え方を検証する
筆者は以前chromeプラグインを開発していませんので、まず科学普及してみます.http://code.google.com/chrome/extensions/getstarted.html
実はchromeプラグインを開発するのはとても簡単です.ここではchromeプラグインの基礎をあまり説明しません.
私の需要はバックグラウンドがあります.直接に要求を聞いて、その中の一つの要求をテストします.私の欲しい要求をマッピングしてくれるかどうかを確認します.ですから、本当はmaifest.jsonとbackgroundが必要です.
1.manifest.json(プラグインの基礎配置ファイルを書く)
{
"name": "fiddler",
"version": "1.6",
"minimum_chrome_version" : "17.0.0", // 17.0 ,webRequest 。
"background_page": "background.html",
"description": "chrome-fiddler",
"permissions": [
"tabs",
"*://*/*",
"webRequestBlocking", //
"webRequest" //
]
}
2.background.background.js(バックグランド)、外鎖はbackground.jsです.
chrome.webRequest.onBeforeRequest.addListener (
function(details) {
var url = details.url;
//
if( url.indexOf("min-player")!= -1) {
return {redirectUrl: "localhost/player.js"}; // 。
//1. rediretUrl. url, 。
}
return true;
},
{urls:["<all_urls>"]}, // url, * 。
, ["blocking"]
)
このプラグインを拡張パネルを通してchromeに追加し、再起動し、整合urlのページに入った後、networkでバッグをつかみ、urlマッピングに成功しました.つまり、地元のjsを変えて、オンライン効果を見ることができます.それでは、私の考え方は検証に成功しました.同前TODO
アイデアはすでに検証されていますが、以下の機能を実現するためには簡単版のfiddlerマッピング機能が必要です.
1.フロントインターフェースを必要とします.urlとのマッチングを設定します.
2. 複数のマップは、追加、削除、変更がサポートされます.
3. 地元のファイルについては、ファイルを選択することで選択できますか?
4. backgroundのライフサイクルはchromeが閉じる前に配置をずっと保存したいです.ローカルストレージをサポートする必要があります.html 5のlocal Storrageを通じて.
とりあえずこの四つの機能を実現しましょう.明日は終わります.今日はこれだけ書いて、あとは続けます. chrome.webRequestに基づいてchrome-fiddlerを作成します.ご注目ください.よろしくお願いします.