![将代理自动配置脚本与不支持该脚本的应用程序一起使用?](https://linux22.com/image/1262581/%E5%B0%86%E4%BB%A3%E7%90%86%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%B8%8D%E6%94%AF%E6%8C%81%E8%AF%A5%E8%84%9A%E6%9C%AC%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
有没有办法“包装”应用程序,使得传出的 HTTP 流量(即 Web 服务调用)通过通过以下方式配置的代理:PAC 脚本?该应用程序本身没有内置代理支持,更不用说 PAC 了,所以我猜测传出的数据包需要被拦截和修改(所以类似Fiddler)我不关心 HTTPS,只关心 HTTP。
可能相关:https://superuser.com/questions/63099/supplying-http-proxy-support-to-applications
答案1
我还没有找到一款产品能满足您的所有要求,但也许两种产品的组合可以满足您的所有要求。问题是,虽然将应用程序 socksify 到代理的产品很多,但我发现没有一款产品接受 PAC 脚本。
因此,在我看来,将应用程序 socksifying到PAC脚本的最好方法是通过两个步骤来完成:
- 根据 URL 评估 PAC 脚本——这是可能的,因为脚本只不过是一个 Javascript 片段
- 使用结果更新代理产品
评估 PAC 脚本的可能产品有:
解析器
一个用于解析代理自动配置(PAC)文件的库,它附带一个名为“pactester”的测试程序。
代理测试器
开源代理列表测试器,可生成可在浏览器中使用的 wpad.dat 文件。
代理应用程序的可能产品:
强制程序在套接字级别使用代理。当需要允许数据包从计算机发出时,ProxyFirewall 不仅允许您选择是否允许程序访问互联网,而且还提供强制通过套接字级别的代理服务器进行连接的选项。
代理卡(30美元)
ProxyCap 可让您通过代理服务器重定向计算机的网络连接。您可以告诉 ProxyCap 哪些应用程序将通过代理连接到互联网以及在什么情况下。这可通过用户友好的界面完成,无需重新配置任何互联网客户端。
代理程序(39.95 美元)
Proxifier 是一个允许不支持通过代理服务器运行的网络应用程序通过 HTTPS 或 SOCKS 代理或代理服务器链运行的程序。
如果上述产品之一可通过文本文件进行参数化,则可以使用 PAC 脚本评估的结果编辑此文件,也许可以使用适用于 Windows 的 sed从而根据PAC脚本结果实现对指定应用程序的代理。