编辑(8-23): 为了清楚起见
我正在寻找通过使用 Squid 或 Privoxy 等代理软件来使用 Web 代理脚本(Glype、PHProxy 等)的替代方法。我希望这种新方法的运行方式与 Web 代理脚本相同,用户在表单中键入 URL,我的服务器获取站点并将其发送给用户。
我的想法是让用户输入 URL,并让我的服务器通过在我的服务器上运行的代理软件以某种方式将用户连接到 URL。因此,就好像用户将浏览器配置为使用我的服务器 IP 作为代理一样。
这是一个摘要:
用户是否可以通过 Privoxy 或 Squid 连接到站点而无需配置浏览器以使用服务器 IP?他们首先连接到我在同一台服务器上运行的网络服务器。我无法控制用户的网络。
这不是真正的代理,这是一个网站,它是一个 HTTP 网关,代理表单中的 URL。代理服务器通常意味着诸如透明度之类的事情。这不是这里要发生的事情。
这不是反向代理,因为反向代理通常意味着一个站点看起来是一回事,但在后端透明地代理到其他隐藏站点。
我不知道为什么这个问题被严重减去,也许人们不理解这个问题并且无法发表评论以获取更多信息?
嗯......这将取决于您的编程技能水平,嗯?
如果您只是在谈论基于在 HTML 表单中输入的 URL 将网页的 HTML 未经修改地返回给用户,那么这将非常容易。
如果您正在谈论处理返回给用户的页面,以便页面中的所有链接/图像/等都被更改为通过您的代理脚本重定向,那么它可能需要大量的编码。(而且你永远不会得到 100% 的覆盖率,因为页面中嵌入的 Javascript 可能包含经过编码的 URL……而且由于 Javascript 是图灵完备的,“反转”编码的唯一方法是运行解码器。你好停顿的问题,你今天好吗?>微笑<)
编辑:
因此,您实际上只是在寻找一种方法来允许客户端使用您的代理,而无需要求他们的浏览器设置代理设置。
听起来像是代理自动配置脚本的工作!
假设您对网络基础设施有足够的控制权来分发代理配置脚本,您会非常非常喜欢它。掌握基础知识可能有点困难,但一旦你开始了,你会很高兴的。
你的意思不是很清楚。当有人打开您的表单并输入一个 URL(可能是在 IE 或 Firefox 中或其他)时,您是否希望目标网页在他们的浏览器中打开但看起来好像它来自您的网站?如果是这样,您可能会使用 URL 重写,因此实际上您的服务器是反向代理。如果您想在 Windows 上执行此操作,您可能可以使用 IIS 7.0 的新应用程序请求路由插件。
例如,“代理”www.google.com,您需要设置 ARR,以便http://yourserver/google/whatever被代理到http://www.google.com/whatever
无需编程。我不知道它在实践中有多可靠。你得试一试看看。
JR