12

CDNを使用するようにWebサイトのコードを修正した後(すべてのURLを画像、js、cssに書き換える)、ドメイン上のすべてのページをテストして、すべてのリソースがCDNからフェッチされていることを確認する必要があります。

すべてのサイトページには、孤立したページではなく、リンクを介してアクセスできます。

現在、FireBugを使用しており、「ネット」ビューを確認しています...

ドメイン名を付けて、ドメインのすべてのページとリソースをリクエストする自動化された方法はありますか?

アップデート:

OK、私はそのように使用できることがわかりましwgetた:

wget -p --no-cache -e robots=off -m -H -D cdn.domain.com,www.domain.com -o site1.log www.domain.com

説明されたオプション:

  • -p-リソースもダウンロードします(画像、css、jsなど)
  • --no-cache-実際のオブジェクトを取得し、サーバーのキャッシュされたオブジェクトを返さない
  • -e robots=off-無視robotsno-follow指示
  • -m-ミラーサイト(リンクをたどる)
  • -H-スパンホスト(他のドメインもフォロー)
  • -D cdn.domain.com,www.domain.com-フォローする魔女ドメインを指定します。指定しない場合は、ページからすべてのリンクをフォローします
  • -o site1.log-ファイルsite1.logにログを記録します
  • -U "Mozilla/5.0"-オプション:ユーザーエージェントを偽造します-サーバーがブラウザごとに異なるデータを返す場合に便利です
  • www.domain.com-ダウンロードするサイト

楽しみ!

4

1 に答える 1

12

wgetドキュメントには次のビットが含まれています。

実際、1 つのページとそのすべての必要条件を (別の Web サイトに存在する場合でも) ダウンロードし、ロットがローカルで適切に表示されるようにするために、この作成者は「-p」に加えていくつかのオプションを使用することを好みます。

      wget -E -H -k -K -p http://site/document

鍵は-Hオプション、つまり--span-hosts -> go to foreign hosts when recursive. これが通常のハイパーリンクを表しているのか、それともリソースのみを表しているのかはわかりませんが、試してみてください。

別の戦略を検討できます。CDN から参照されていることをテストするためにリソースをダウンロードする必要はありません。興味のあるページのソース コードを取得するだけで (以前とwget同じように 、 またはcurl、またはその他を使用できます)、次のいずれかを実行できます。

  • ライブラリを使用して解析します。これは、スクリプトに使用している言語によって異なります。<img />とCDN リンクを<link />それぞれ確認します。<script />
  • 正規表現を使用して、リソース URL に CDN ドメインが含まれていることを確認します。これを参照してください :)ただし、この限られたケースでは、それほど複雑ではないかもしれません。

また、リンクのすべての CSS ファイルを確認する必要がありますurl()。それらは CDN 画像も指している必要があります。アプリケーションのロジックによっては、JavaScript コードが CDN から取得されていない画像を作成していないことを確認する必要がある場合があります。

于 2012-10-23T16:15:36.933 に答える