{"id":2231,"date":"2019-03-06T09:41:18","date_gmt":"2019-03-06T01:41:18","guid":{"rendered":"https:\/\/feizhaojun.com\/?p=2231"},"modified":"2019-03-06T10:07:19","modified_gmt":"2019-03-06T02:07:19","slug":"%e4%bb%80%e4%b9%88%e6%98%afpac%e6%96%87%e4%bb%b6","status":"publish","type":"post","link":"https:\/\/feizhaojun.com\/?p=2231","title":{"rendered":"\u4ec0\u4e48\u662fPAC\u6587\u4ef6"},"content":{"rendered":"<h3>\u4ec0\u4e48\u662fPAC\u6587\u4ef6\uff1f<\/h3>\n<p>PAC\u6587\u4ef6\u662f\u5728\u4f7f\u7528\u4ee3\u7406\u670d\u52a1\u5668\u7684\u65f6\u5019\uff0c\u544a\u8bc9\u6d4f\u89c8\u5668\u8be5\u5982\u4f55\u9009\u62e9\u7684\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\u3002\u6240\u4ee5PAC\u6587\u4ef6\u53c8\u79f0\u4e3a\u4ee3\u7406\u81ea\u52a8\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<p>PAC\u6587\u4ef6\u5b9e\u8d28\u4e0a\u662fJavaScript\u4ee3\u7801\u3002<\/p>\n<h3>\u5982\u4f55\u7f16\u5199PAC\u6587\u4ef6<\/h3>\n<h4>\u4e0b\u9762\u662f\u4e00\u4e2a\u6700\u7b80\u5355\u7684PAC\u6587\u4ef6\u4ee3\u7801\uff1a<\/h4>\n<pre><code class=\"language-javascript\">function FindProxyForURL(url, host) {\n    return 'DIRECT'\n}\n<\/code><\/pre>\n<p>\u4ee3\u7801\u4e2d\u58f0\u660e\u4e86\u4e00\u4e2a\u51fd\u6570 FindProxyForURL()\uff0c\u8fd9\u4e2a\u51fd\u6570\u662fPAC\u6587\u4ef6\u5fc5\u987b\u7684\uff08\u51fd\u6570\u540d\u5fc5\u987b\u5982\u6b64\uff09\u3002\u8be5\u51fd\u6570\u63a5\u6536\u4e24\u4e2a\u53c2\u6570 url \u548c host\uff0c\u5982\u679c url \u662f <strong>https:\/\/feizhaojun.com\/?p=2231<\/strong>\uff0chost \u5c31\u662f <strong>feizhaojun.com<\/strong>\u3002\u8be5\u51fd\u6570\u8fd4\u56de\u503c\u4e3a\u201cDIRECT\u201d\uff0c\u610f\u5473\u7740\u4ec0\u4e48\u90fd\u6ca1\u505a\uff0c\u5bf9\u4e8e\u4efb\u4f55URL\uff0c\u90fd\u662f\u201cDIRECT\u201d\uff08\u76f4\u63a5\u8fde\u63a5\uff09\u3002<\/p>\n<h4>PAC\u6587\u4ef6\u7684\u8fd4\u56de\u503c\u6709\u54ea\u4e9b\uff1f<\/h4>\n<p>\u9664\u4e86 return 'DIRECT'\uff0c\u8fd8\u6709 PROXY \u548c SOCKS5\uff1a<\/p>\n<ul>\n<li>PROXY \u4f7f\u7528http\u4ee3\u7406\uff0c\u540e\u9762\u8ddf\u4e3b\u673a\u5730\u5740\u548c\u7aef\u53e3<\/li>\n<li>SOCKS5 \u4f7f\u7528socks5\u4ee3\u7406\uff0c\u540e\u9762\u8ddf\u4e3b\u673a\u5730\u5740\u548c\u7aef\u53e3<\/li>\n<\/ul>\n<p>\u4f8b\u5982\uff1a<\/p>\n<pre><code class=\"language-javascript\">function FindProxyForURL(url, host) {\n    return 'PROXY host.proxy.com:3128'\n}\n<\/code><\/pre>\n<p>\u6216\u8005<\/p>\n<pre><code class=\"language-javascript\">function FindProxyForURL(url, host) {\n    return 'SOCKS5 socks5.proxy.com:1080'\n}\n<\/code><\/pre>\n<p>\u4e5f\u53ef\u4ee5 return \u591a\u4e2a\u7c7b\u578b\uff1a<\/p>\n<pre><code class=\"language-javascript\">function FindProxyForURL(url, host) {\n    return 'DIRECT; PROXY host.proxy.com:3128; SOCKS5 socks5.proxy.com:1080'\n}\n<\/code><\/pre>\n<p>\u4e0a\u9762\u8fd4\u56de\u503c\u7684\u610f\u601d\u662f\uff1a<\/p>\n<ul>\n<li>\u5bf9\u4e8e\u6240\u6709 url\uff0c\u76f4\u63a5\u8fde\u63a5\uff08DIRECT\uff09\uff1b<\/li>\n<li>\u5982\u679c\u4e0d\u80fd\u76f4\u63a5\u8fde\u63a5\uff0c\u5219\u4f7f\u7528PROXY\uff0c\u4e5f\u5c31\u662fhttp\u4ee3\u7406\uff1b<\/li>\n<li>\u5982\u679c\u8fd8\u4e0d\u80fd\u8fde\u63a5\uff0c\u518d\u4f7f\u7528SOCKS5\u3002<\/li>\n<\/ul>\n<p>\u5982\u679c\u4f60\u786e\u5b9a\u77e5\u9053\u67d0\u4e2aurl\u4e0d\u80fd\u76f4\u63a5\u8fde\u63a5\uff0c\u9700\u8981\u4f7f\u7528\u4ee3\u7406\uff0c\u90a3\u4e48\u53ef\u4ee5\u5728\u51fd\u6570\u4e2d\u5224\u65ad\uff0c\u505a\u4e0d\u540c\u7684\u8fd4\u56de\u503c\uff1a<\/p>\n<pre><code class=\"language-javascript\">function FindProxyForURL(url, host) {\n    if (shExpMatch(url,\"*.google.com\/*\")) {\n        \/\/ Google \u4e0d\u80fd\u8bbf\u95ee\uff0c\u4f7f\u7528http\u4ee3\u7406\n        return \"PROXY host.proxy.com:3128\";\n    }\n    if (shExpMatch(url, \"*.wikipedia.com:*\/*\")) {\n        \/\/ \u7ef4\u57fa\u767e\u79d1\u7f51\u7ad9\u4f7f\u7528 socks5 \u4ee3\u7406\u3002\n        return \"SOCKS5 socks5.proxy.com:1080\";\n    }\n    if (isInNet(host, \"127.0.0.1\", \"dnsResolve(localhost)\")){\n        \/\/ \u672c\u5730\u5730\u5740\u76f4\u63a5\u8bbf\u95ee\n        return \"DIRECT\";\n    }\n    \/\/ \u4e0d\u786e\u5b9a\u7684\u60c5\u51b5\uff0c\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u5c1d\u8bd5\n    return 'DIRECT; PROXY host.proxy.com:3128; SOCKS5 socks5.proxy.com:1080'\n}\n<\/code><\/pre>\n<p>shExpMatch\u51fd\u6570\u7528\u6765\u5339\u914durl\u6216\u8005host\uff0c\u5339\u914d\u7684\u65b9\u5f0f\u548cDOS\u7684\u901a\u914d\u7b26\u76f8\u4f3c\u3002\u4f8b\u5982\u524d\u9762\u7528\u5230\u7684\"<em>.google.com\/<\/em>\"\u53ef\u4ee5\u5339\u914d\u4efb\u610f\u5305\u542b\".google.com\/\"\u7684\u5b57\u7b26\u4e32\u3002\u4e00\u822cPAC\u6587\u4ef6\u4e0d\u9700\u8981\u592a\u590d\u6742\u7684\u5339\u914d\u3002<\/p>\n<p>isInNet\u51fd\u6570\u7528\u6765\u8fd4\u56de\u8bf7\u6c42\u7684host\u662f\u5426\u5728\u6307\u5b9a\u7684\u57df\u5185\u3002\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0cisInNet\u7684\u7b2c\u4e8c\u4e2a\u53c2\u6570\u5fc5\u987b\u662fIP\uff0c\u4e0d\u80fd\u662f\u4e3b\u673a\u540d\u3002\u56e0\u6b64\u9700\u8981\u628a\u4e3b\u673a\u540d\u8f6c\u6362\u6210IP\u3002\u6bd4\u5982\u4e0a\u9762\u7684dnsResolve(localhost)\u3002<\/p>\n<h3>\u66f4\u591aPAC\u6587\u4ef6\u7684\u4ecb\u7ecd<\/h3>\n<p>PAC\u8fd8\u63d0\u4f9b\u4e86\u4e0d\u5c11\u5176\u5b83\u51fd\u6570\uff0c<a href=\"http:\/\/www.truevue.org\/javascript\/pac-functions\">\u8fd9\u91cc<\/a>\u5217\u51fa\u4e86PAC\u4ee3\u7406\u6587\u4ef6\u4e2d\u53ef\u4ee5\u4f7f\u7528\u7684JavaScript\u51fd\u6570\u3002<\/p>\n<blockquote><p>\n  \u4f60\u4e5f\u8bb8\u60f3\u628apac\u6587\u4ef6\u53d1\u5e03\u5230Internet\u4e0a\uff0c\u8fd9\u6837\u5176\u5b83\u7528\u6237\u5c31\u53ea\u9700\u8981\u5728\u6d4f\u89c8\u5668\u4e2d\u6307\u5b9apac\u6587\u4ef6\u7684url\u5373\u53ef\u3002\u4f60\u5f97\u914d\u7f6e\u4f60\u7684\u670d\u52a1\u5668\u6620\u5c04 .pac \u6587\u4ef6\u540e\u7f00\u5230MIME\u7c7b\u578b\uff1a application\/x-ns-proxy-autoconfig \u5982\u679c\u4f7f\u7528\u7684\u662fNetscape\u670d\u52a1\u5668\uff0c\u7f16\u8f91 config \u76ee\u5f55\u4e0b\u7684 mime.types \u6587 \u4ef6\u3002\u5982\u679c\u662fApache, CERN or NCSA\u670d\u52a1\u5668\uff0c\u4f7f\u7528 AddType \u6307\u4ee4\u3002\n<\/p><\/blockquote>\n<p>\u8fd9\u91cc\u6709\u4e00\u4e9b\u5927\u5bb6\u7f16\u5199\u7684PAC\u6587\u4ef6\uff1a<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Leask\/Flora_Pac\">https:\/\/github.com\/Leask\/Flora_Pac<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/SEIAROTg\/chalkPAC\">https:\/\/github.com\/SEIAROTg\/chalkPAC<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/lbp0200\/mono_pac\">https:\/\/github.com\/lbp0200\/mono_pac<\/a><\/li>\n<\/ul>\n<h3>\u5982\u4f55\u4f7f\u7528PAC\u6587\u4ef6\uff1f<\/h3>\n<h4>Windows<\/h4>\n<p>Internet\u9009\u9879 -> \u8fde\u63a5 \u9009\u9879\u5361 -> \u5c40\u57df\u7f51\u8bbe\u7f6e(\u5982\u679c\u662f\u7535\u8111\u62e8\u53f7\u4e0a\u7f51, \u8fd9\u91cc\u70b9'\u8bbe\u7f6e') -> \u4f7f\u7528\u81ea\u52a8\u914d\u7f6e\u811a\u672c -> \u586b\u5165PAC\u5730\u5740 -> \u786e\u5b9a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ask.qcloudimg.com\/http-save\/yehe-1134066\/m6y2bw1zjn.png?imageView2\/2\/w\/1620\" alt=\"image\" \/><\/p>\n<h4>Mac OS X<\/h4>\n<p>\u7cfb\u7edf\u8bbe\u7f6e -> \u7f51\u7edc -> \u9ad8\u7ea7 -> \u4ee3\u7406 -> \u81ea\u52a8\u4ee3\u7406\u914d\u7f6e -> URL\u4e2d\u586b\u5165PAC\u5730\u5740 -> \u597d<\/p>\n<h4>iOS (iPhone\/iPad)<\/h4>\n<p>1 \u6253\u5f00\u8bbe\u7f6e, \u9009\u62e9Wi-Fi<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ask.qcloudimg.com\/http-save\/yehe-1134066\/fih34cvrs3.png?imageView2\/2\/w\/1620\" alt=\"image\" \/><\/p>\n<p>2 \u9009\u62e9\u5f53\u524d\u4f7f\u7528\u7684\u70ed\u70b9<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ask.qcloudimg.com\/http-save\/yehe-1134066\/onsy6o2xsx.png?imageView2\/2\/w\/1620\" alt=\"image\" \/><\/p>\n<p>3 \u62d6\u5230\u6700\u4e0b\u9762\u7684\u4ee3\u7406\u8bbe\u7f6e\uff0c\u9009\u62e9\"\u81ea\u52a8\"\uff0c\u586b\u5199PAC\u5730\u5740<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ask.qcloudimg.com\/http-save\/yehe-1134066\/b09kswwkwm.png?imageView2\/2\/w\/1620\" alt=\"image\" \/><\/p>\n<h4>Android<\/h4>\n<p>\u5b89\u5353\u7531\u4e8e5.0\u4ee5\u4e0b\u7cfb\u7edf\u4e0d\u652f\u6301\u6b64\u8bbe\u7f6e\uff0c\u8bf7\u53c2\u8003\u6b64\u5e16<a href=\"https:\/\/pan.baidu.com\/s\/1sl0LoHR\">\u4e0b\u8f7d\u7b2c\u4e09\u65b9APP\u5e94\u7528<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4ec0\u4e48\u662fPAC\u6587\u4ef6\uff1f PAC\u6587\u4ef6\u662f\u5728\u4f7f\u7528\u4ee3\u7406\u670d\u52a1\u5668\u7684\u65f6\u5019\uff0c\u544a\u8bc9\u6d4f\u89c8\u5668\u8be5\u5982\u4f55\u9009\u62e9\u7684\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\u3002\u6240\u4ee5PAC\u6587\u4ef6\u53c8\u79f0\u4e3a\u4ee3\u7406\u81ea\u52a8&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5,61],"tags":[],"class_list":["post-2231","post","type-post","status-publish","format-standard","hentry","category-javascript","category-61"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts\/2231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2231"}],"version-history":[{"count":5,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts\/2231\/revisions"}],"predecessor-version":[{"id":2236,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts\/2231\/revisions\/2236"}],"wp:attachment":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}