2016-08-16 7 views
0

テスト用に第三者のウェブサイトを変更する際の一般的なアプローチは何ですか?たとえば、私がコントロールしていないランダムなウェブサイト(HTML、js、css、imagesなど)の特定の部分を変更し、変更を加えてローカルに変更されたサイトを表示したいとします。 複数の方法があります。 1.すべてをローカルサーバーにコピーして、何でもしてください。 これはちょっと面倒で、乱雑で元のサーバーの動作を再現しません。一部のヘッダーは同じではない場合があります(CORSなど)。また、ホスト名は異なります(ただし、hostsファイルのホスト名を上書きすることでこれを固定することができます)。 2.別のアプローチは、私が望むことを実行するクロムエクステンションを作成することです:chrome.webRequestのフックがあります。別のファイル(他のサーバー上、または拡張フォルダに格納されている)にコピーします。これは私にとってはうまくいきません。私は別の場所にリダイレクトすると、リダイレクトされたファイルが別の場所にあるためCORSの問題が発生します。テスト用にサードパーティのウェブサイトをローカルで変更する

私の目標は、コンテンツがレンダリングされる前に、それを変更する機会を得るために、まったく同じ動作を得ることです(問題のサイトに直接アクセスし、自分のローカルサーバーにコピーするのはベストです)。たとえば、ローカルプロキシをセットアップしてその場で変更を加えることもできますが、リモートサイトはhttpsを使用しています。そのようにはできません。 受信バッファにregex.replaceを実行するチャンスがあれば完璧です。どのようにそのような何かを行うための任意のアイデア?

答えて

0

サードパーティのサイトには、一般的に(スプライトのように)だけでなく、JavaScriptとCSS(例えばclosurejspmwebpackbrowserify)を一緒にバンドルminifiesとビルドプロセスを経て発表され、時には画像されます。ソースファイルがない場合でも、以下の方法を使用することができます。

CSSを修正して保存したい場合は、Live CSS editorのようなChrome拡張機能を使用できます。

JavaScriptの場合はsupportsuser scriptsとなり、Tampermonkeyで簡単にユーザースクリプトを管理できます。

regexの置換を行うプロキシーは、有効な別のアプローチであり、HTTPSとHTTPSで動作します。 FiddlerCharles、またはWindows用の古いProxomitron(SSLトラフィックを傍受できるプラグインもあります)を参照してください。

関連する問題