PACファイルを作成する

1911 ワード

今日は何げなく接触しました.代理を書いてもいいという人がいました.資料を探して自分で簡単な代理に感謝しました.
ここに書いたのはとても簡単です.いくつかの簡単な関数だけを使って、簡単に紹介します.
pacファイルは拡張子です.pacのファイルです.中の方法はすべてjavascriptが作成したものです.javascriptを知っていれば、多くの話をする必要はありません.少しでも分からないのは分かりやすいはずです.
ファイルの書き方を紹介します.まず、ファイルに必要な関数の一つです.FindProxyForURL、PACファイルにはこの関数が含まれている必要があります.ファイルが導入されると、この関数が検索され、中に設定されている規則に従ってマッチングします.
まず一番簡単なpacファイルのコードをください.

function FindProxyForURL(url, host) {
return "DIRECT";
}
上は非常に簡単なjavascript関数です.戻り値は一つの文字列「DIRECT」です.ここでは「DIRECT」という意味で直接接続されていますが、代理店を通してはいけません.
FindProxyFor URL(url,host)3つの一般的な戻り値:
1)DIRECTこれは簡単です.直接リンクです.
2)「PROXY www.example.com.8080」または「PROXY 127.1.0.1:8080」これはHTTPエージェントのホストとポートの値で、ホストはドメイン名またはIPアドレスであることができます.
3)「SOCKS 5 socks 5 sample.com:1080」socks 5エージェントのホストとポートは、ホストもIPで表示することができます.
4)最後の一つは様々なミックスの戻り方です.「DIRECT;PROXY www.example.com:8080;SOCKS 5 socks 5 sample.com:1080」は先に直接接続し、直接接続ができない場合はHTTPエージェントを呼び出し、まだ使えない場合はSOCKS 5エージェントを呼び出します.
上のコードは実は意味がないので、直接接続するよりは設定しないほうがいいです.ブラウザ自体は直接リンクです.いくつかの有用な関数を紹介して、上のコードを豊かにして、pacファイルが本当に代理の役割を果たします.
1)shExpMatch関数、
機能:strがshexpに合うかどうかを見ます.
パラメータの紹介:
strパラメータは一般的にFindProxyFor URLの中に入ってきます.つまり私たちが訪問するウェブサイトです.
shexpというパラメータは名前からも少し分かりますが、いいですね.これは条件を満たす正規表現をフィルタリングします.(これは自分で調べられないなら、ここでは紹介しません.)
戻り値:bootlean(true/false)は、strマッチングshexpが成功したらtrueに戻ります.失敗したらfalseに戻ります.
例えば、shExpMatch(www.google.com)はtrueに戻ります.
shExpMatch(www.google.com)、「*.baidu.*」)はfalseに戻ります.
これで私たちは次のように書くことができます.

function FindProxyForURL(url, host){
if(shExpMatch(url,"*.google.*")){
return "127.0.0.1:8087";
} else {
return "DIRECT";
}
}
簡単なコードはここまで書いて、もっと複雑なのは紹介しません.自分で書いてもいいです.次にPACファイルを書く時によく使う関数を提供します.転送ゲート:[url]http://www.truevue.org/javascript/pac-functions[/url]