验证 pac 文件正确性的简易方法

2016-06-15 17:57:33 +08:00
 ncisoft

装 node.js ,在命令行运行

(cat ./mypac; echo 'console.log ( FindProxyForURL("http://www.google.com/", "www.google.com") )') | nodejs

#对于 URL 方式的 pac ,可以执行下面这句
(curl -s http://192.168.1.11/proxy-20160614-3.pac; echo 'console.log ( FindProxyForURL("http://www.google.com/", "www.google.com") )') | nodejs
4664 次点击
所在节点    JavaScript
7 条回复
fds
2016-06-16 10:27:49 +08:00
哦 最后应该是 | node 吧
doublleft
2016-06-16 11:00:59 +08:00
谁知道 pac 怎么主动更新

我已经在服务器上修改了 pac 内容,在客户端不用任何改动的情况下,怎么主动获取新的 pac ?
ncisoft
2016-06-16 12:13:31 +08:00
@doublleft
有个小技巧,比如你的 pac 地址是 http://192.168.1.1//my.pac ,则你在浏览器可写为 http://192.168.1.1/my.pac?t=20160615-1 ,每次修改了就改浏览器地址好了,就是那个 t 参数。更进一步地,可以在服务器上用脚本生成 PAC (读取本地文件,原样输出即可),注意脚本写好浏览器缓存的设置
ncisoft
2016-06-16 12:19:38 +08:00
@fds 我主要是要用 JavaScript v8 引擎,所以用 node.js 。所以应该是 | node.js
ncisoft
2016-06-16 12:24:08 +08:00
@fds 刚试了试,| node 也可以工作正常,| nodejs 、 | js 、| node 都能正常工作
doublleft
2016-06-16 17:06:32 +08:00
@ncisoft
客户端不用任何改动的情况下,有办法更新 pac 吗?
我试过修改 headers ,修改 last modify 等,基本上都无法主动更新,抓包来看也没有什么规律
ncisoft
2016-06-16 18:23:01 +08:00
@doublleft 试试客户端浏览器关闭、重新打开,关键还是 pac 的 expired 设定

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/285982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX