【问题标题】:Proxy Server in Django or PythonDjango 或 Python 中的代理服务器
【发布时间】:2015-02-20 02:55:54
【问题描述】:

我正在尝试在 Django 中构建一个网页,其中包含一个迷你“浏览器”、一个用于输入链接的输入栏和一个用于显示网页的 iframe,例如这个网站 (http://free-proxyserver.com/)。但是由于不同的原因,很多页面无法在 iframe 中加载,例如 google、stackoverflow 等。所以我想在我的服务器上构建一个代理服务器。对于像“https://www.google.com”这样的链接,我将iframe源设置为“http://mywebsite.com/proxy?url=https://www.google.com”,并且会有“/proxy”的查看功能。

如果我只是请求此页面并将响应发回,则网络用户将无法获取任何 .js 或 .css 文件。有没有简单的方法来解决这个问题?

我尝试在开源代理服务器上搜索 django,像“Django Http Proxy”这样的项目只能代理某个网站,但我希望它成为所有可能网站的代理。

【问题讨论】:

    标签: javascript python django iframe proxy


    【解决方案1】:

    看看Django Http Proxy documentation,你会发现:

    旧版本的 Django HTTP 代理只支持一个代理 Django 项目,必须使用 Django 设置进行配置:

    PROXY_BASE_URL = 'http://www.python.org/
    

    当然,您可以使用新的基于类的视图语法轻松复制此行为:

    from django.conf import settings
    from httpproxy.views import HttpProxy
    urlpatterns += patterns('',
        (r'^proxy/(?P<url>.*)$',
            HttpProxy.as_view(base_url=settings.PROXY_BASE_URL)), )
    

    所以,我认为您可以轻松修改 base_url 并从客户端输入中读取它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 2016-06-13
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多