ローカルサーバーを使用してWebサイトを開発していますが、リモート依存関係があります。リモートサーバーからのファイルの偽のリクエストをしたいのですが。たとえば、ブラウザがfooCDN.com/bloatedLib.js
を要求すると、/Users/name/Desktop/bloatedLib.js
の内容が返されます。
私はMacを使用しており、システムまたはブラウザレベルで機能するソリューションで十分です。ブラウザレベルで動作する場合は、FirefoxまたはChromeソリューションのみで問題ありません。Windowsコンピュータは使用できません。
私はこの小さなプロキシサーバーを一緒にハッキングして、不足しているファイルのみをダウンロードしました。/etc/hostsファイルを設定して、127.0.0.1でキャッシュするサイトと0.0.0.0でブロックするサイトを指定するだけです。
#!/bin/sh
nc -ll -p 80 -e sh -c '
while read A B DUMMY
do
case "$A" in
[Gg][Ee][Tt])
FULL=$B #full path of the file
F=${FULL##*/}
F=${F%%\?*} #file name only
#if we have it cat it back to browser
[ -f "$F" ] && cat "$F" && break
;;
[Hh][Oo][Ss][Tt]*)
[ -f "$F" ] && break #file already exists
Host=${B:0:$((${#B}-1))} #the Host name
#resolve by DNS first so we can cache it
sed -i "s/hosts:\t\tfiles /hosts:\t\t/g" /etc/nsswitch.conf
wget -t 0 -q --no-dns-cache $Host$FULL
#got it now revert to checking Host file 1st
sed -i "s/hosts:\t\t/hosts:\t\tfiles /g" /etc/nsswitch.conf
#cat the file because I didn't think to wget through tee
cat "$F"
break
;;
esac
done
'
すべてのファイルを1つのディレクトリに配置するため、バージョンの競合が発生する可能性があることに注意してください。 (これは意図的に行ったので、jqueryのコピーは500個ありません)
ローカルWebサーバーを実行しているようです。優秀な。
Macのファイルシステムには、/etc/hosts
というファイルがあります。 fooCDN.com
に次の行を追加することで、/etc/hosts
に対するすべてのリクエストをローカルマシンにリダイレクトできます。
127.0.0.1 foocdn.com www.foocdn.com
/etc/hosts
を編集するには、root(スーパーユーザー)の権限が必要です。
上記の行は、fooCDN.com
がWebサーバーがリッスンしている自分のコンピューターから読み込まれることを意味します。
ただし、ローカルで実行しているWebサーバーを指定していません。 Webサーバーのドキュメントに従って、fooCDN.com
のドキュメントルートを/Users/name/Desktop/
にポイントする仮想ホストを作成する必要があります。
これはサンプル構成です(私は自分でテストしていません) Apache で使用してみることができます:
<VirtualHost 127.0.0.1:80>
ServerName foocdn.com
ServerAlias www.foocdn.com
DocumentRoot /Users/name/Desktop
</VirtualHost>
Nginx (これもテストされていません)の設定例は次のとおりです。
server {
listen 80;
root /Users/name/Desktop;
server_name foocdn.com;
}
Webサーバーサービスを再起動するか、新しい構成ファイルをリロードすることを忘れないでください。
プロキシサーバー サポートするソフトウェア RL書き換え を使用してタスクを実行できます。多くのプロキシサーバーアプリケーションは、URLの書き換えをサポートしています。例: Charles Web Debugging Proxy Application Windows、Mac OS、およびLinuxの場合 RL書き換えをサポート 。 Macシステムにインストールしてから、プロキシサーバーを使用するようにシステムのブラウザを設定できます。
または、無料でオープンソースの Apache には、 mod_proxy および mod_rewrite モジュールがあります。
Mitmproxy は無料で、Mac OSXシステムでも動作します。
ブラウザのキャッシュからアイテムを引き出してプロキシサーバー経由で利用できるようにする必要がある場合は、 表示Chromeキャッシュ(簡単な方法) で提供されている手法を使用できます。 。たとえば、GoogleではChromeブラウザのアドレスバーにchrome:\\cache
を入力し、Chromeキャッシュで、関連するアイテムを見つけてコピーします。他の場所。
古き良きように聞こえます wwwoffle あなたのニーズに合うはずです。これは、オフラインで使用するリソースを選択できるプロキシサーバーです。