0

我正在寻找一个可以让我大致的库:

  • 连接到 localhost:port,但请参阅http://somesite.com
  • 重写所有静态资产以指向 localhost:port 而不是 somesite.com
  • 支持cookies/认证

我知道http://betterinternet.co/已经这样做了,但出于某种原因他们不会给我他们的源代码。

我认为这不作为免费代码存在,所以如果我要写一个,它有什么细微差别吗?如果我在 html 和标题中替换所有出现的 somesite.com,这就足够了吗?

4

2 回答 2

4

所以...您想要一个可以进行链接重写的 http 代理?听起来像 Apache 和mod_proxy_html。它不是用节点或 Python 编写的,但我认为它会满足您的要求。

于 2013-01-23T16:53:40.190 回答
1

我没有看到任何直接解决您问题的方法。如果我理解正确,您需要一个缓存 HTTP 代理,它在本地提供静态内容,并在 Python(或 nodejs)中定义 URL 重写规则。这是一项相当艰巨的任务。

缓存 HTTP 代理实现并非易事。所以我会使用现有的实现,比如 Squid(或者 Apache,如果它也缓存的话)。

然后,您可以在其前面放置一个(相对)简单的用 Python 编写的 HTTP 服务器(例如,基于BaseHTTPServerand urllib2),它根据您的需要执行 URL 重写并将请求转发到代理(或直接到互联网)。

这个想法是依靠代理设置来执行您不想修改的所有处理(包括基本的重写规则、身份验证、缓存和缓存管理),并将您的前端实现限制为仅执行您的自定义重写有兴趣。

于 2013-01-28T17:51:19.650 回答