也就是说,让我说我正在写一些托管在foo.com
上的东西。我希望转到foo.com/bar.com
的用户可以bar.com
来foo.com
bar.com
,并且能够与foo.com/bar.com/baz
进行互动(例如通过点击导航到{{1}}。我知道这是代理应该做的事情。我需要对访问代理的请求进行一些预处理,这就是为什么我要转向Web框架。我喜欢django,rails或sinatra,或者其他python / ruby解决方案,但任何人都会这样做。
提前致谢;欢迎提出其他建议。
答案 0 :(得分:0)
我只能谈论django,但是......
如果您只想在多个网站上使用相同的对象/数据,请查看django sites framework
对于重定向,我会建议redirects app
或者您只是在视图中使用redirect shortcut
答案 1 :(得分:0)
首先,您需要在foo.com上解析URL。在django你可以有这样的网址(未经测试):
url(r'(?P<url>.*)$', my_proxy_view, name = 'proxy')
所以http://foo.com/bar.com/baz/会为您提供一个“bar.com/baz/”的网址,您可以在视图中随意使用。
然后你必须使用像urllib2这样的库在bar.com上检索页面。
当您拥有远程页面的内容时,您需要更改指向bar.com的所有链接(锚元素)以指向代理的URL。如果您想代理图像,样式表和JavaScript,您还需要更改这些链接。
您可能希望尽可能多地缓存。并确保在urllib请求上设置一个用户代理,让其他站点知道这是某种机器人或代理。
话虽如此,这听起来像是一个非常愚蠢的想法。你的用例是什么?