如何让我的简单扭曲代理工作?

2023-12-11

我正在尝试利用扭曲网框架。

请注意三行注释(#line1、#line2、#line3)。我想创建一个代理(网关?),它将根据 url 将请求转发到两个服务器之一。如果我取消注释 1 或 2(并注释其余部分),请求将被代理到正确的服务器。但是,当然,它不会根据 URL 选择服务器。

from twisted.internet import reactor
from twisted.web import proxy, server
from twisted.web.resource import Resource

class Simple(Resource):
    isLeaf = True
    allowedMethods = ("GET","POST")

    def getChild(self, name, request):
        if name == "/" or name == "":
            return proxy.ReverseProxyResource('localhost', 8086, '')
        else:
            return proxy.ReverseProxyResource('localhost', 8085, '')

simple = Simple()
# site = server.Site(proxy.ReverseProxyResource('localhost', 8085, '')) #line1   
# site = server.Site(proxy.ReverseProxyResource('localhost', 8085, '')) #line2   
site = server.Site(simple)                                              #line3   
reactor.listenTCP(8080, site)
reactor.run()

正如上面的代码当前所示,当我运行此脚本并导航到服务器“localhost:8080/ANYTHING_AT_ALL”时,我得到以下响应。

不允许的方法

您的浏览器使用“GET”方法接近我(在/ANYTHING_AT_ALL)。我 这里只允许使用 GET、POST 方法。

我不知道我做错了什么?任何帮助,将不胜感激。


自从你的Simple类实现了getChild()方法,这意味着这不是叶节点,但是,您通过设置来声明它是叶节点isLeaf = True。 (叶节点如何有子节点?)。

尝试改变isLeaf = True to isLeaf = False您会发现它按照您的预期重定向到代理。

来自Resource.getChild文档字符串:

... This will not be called if the class-level variable 'isLeaf' is set in
    your subclass; instead, the 'postpath' attribute of the request will be
    left as a list of the remaining path elements....
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让我的简单扭曲代理工作? 的相关文章

随机推荐

  • 如何将外部 HTML 文件导入 TypeScript 类

    我正在尝试构建一个正在使用的 JavaScript 包Webpack将 TypeScript 文件及其所有导入编译为单个 JavaScript 文件 该包的主要目标是按照一组给定的条件向任何使用该包的应用程序输出 HTML 目前 我通过使用
  • Django Admin 中有“DetailView”吗?

    我知道 Django 管理中有一个更改 更新视图 但是是否有任何详细视图仅列出记录的属性 有点像 Django 应用程序中的 DetailView 或者有人知道我可以安装任何第三方软件包来提供相同的功能吗 我最近也在调查这个问题 一种有效的
  • 查询 JSON 列中数组的元素

    最近升级到使用 PostgreSQL 9 3 1 来利用 JSON 功能 在我的表中 我有一个 json 类型列 其结构如下 id 123 name foo emails id 123 address somethinghere id 45
  • 对数组进行排序的最小“插入”次数

    假设有一个无序列表 我们唯一能做的操作就是移动一个元素并将其插入回任何位置 对整个列表进行排序需要多少步 我想答案是size of the list size of longest ordered sequence 但我不知道如何证明这一点
  • 在 Swift 中使用 GeoFire 查询不会提供有用的输出

    我现在非常绝望 因为我正在尝试在 Firebase 数据库上使用 GeoFire 来查找附近的用户 我现在已经被困了两天了 我在 Google 和 stackoverflow 上进行了很多搜索 并尝试了在那里找到的所有内容 但没有成功 现在
  • 黑莓 - 自定义尺寸 EditField

    我正在尝试组合一个应该如下所示的对话框 填写以下字段 喜欢 其中 行是编辑字段 我将所有字段粘贴到 Horizo ntalFieldManager 中 并将其添加到对话框中 不幸的是 第一个 EditField 占用了第一行的所有空间 我尝
  • 未找到名为 zlib 的模块

    我下载python2 6 6源码形式http www python org getit releases 2 6 6 之后我运行这些命令 配置 制作 我尝试导入 zlib 但它说没有名为 zlib 的模块 如何为其安装 zlib 模块 在我
  • tkinter 中是否可以有一个垂直方向的按钮?

    是否可以定向tk Button or ttk Button垂直 就像定向一个tk Scrollbar在某种方式self scrlbr tk Scrollbar master orient vertical 试过tk Button args
  • Python Tkinter:如何配置循环生成的按钮?

    我正在使用 Python 2 7 和 Tkinter 为我的代码制作 GUI 在某一时刻 框架中充满了许多循环按钮 当我单击其中一个按钮时 该函数需要知道它是从哪里调用的 所以我在谷歌上搜索并找到了这种很好的方法 def generate
  • 线程“AWT-EventQueue-0”中的异常 java.lang.NoClassDefFoundError

    我正在尝试阅读 docx文件到一个JTextPane 但它给出了一些例外 我在用POI图书馆 我应该怎么办 请帮帮我 这是我的代码 file new File C Users Siddique Ansari Documents CV Par
  • 尝试为 Windows 扩展安装 Python 时出现值错误

    我已经安装了 Microsoft Visual Studio 2008 我下载了 zip 文件用于 Windows 的 Python 扩展并将内容提取到我的 Python27 文件夹中 现在有一个名为 pywin32 214 的子文件夹 3
  • 更新 Django Rest Framework 中的多对多关系

    在我的 django 应用程序中 我之间存在多对多关系Orders and Packages 一个订单可以有多个包裹 我想了解更新和创建方法 模型 py class Package models Model prod name models
  • 当 iframe 托管代码无法访问的外部网站时获取 iframe 内容的高度[重复]

    这个问题在这里已经有答案了 可能的重复 让 iframe 适合其内容高度 正如问题标题中所描述的那样 我正在寻找一种方法来根据我的 iframe 托管的网站的高度来调整 iframe 的高度 因为我需要摆脱 iframe 的垂直滚动 同时
  • Facebook PHP SDK:上传活动封面照片

    我使用 facebook php sdk 为页面创建一个事件 现在正如所描述的here可以将图片上传到活动 问题是 这是个人资料图片 但一年多以来 Facebook 为活动提供了新的大幅封面照片 我想上传一张图片到那里 而不是作为个人资料图
  • Python GUI 中的实时绘图

    我正在尝试编写一个 Python GUI 并且需要进行实时绘图 我目前有一个程序可以从我正在使用的机器接收数据 我希望能够在收到机器输出的值时绘制它们 我一直在研究 从迄今为止的发现来看 在我看来 tkinter 或任何库都不能在 GUI
  • Angular ng-table 动态标头在内部不起作用

    我正在将 ng table 与动态列一起使用 使用创建者的示例 位于http bazalt cms com ng table example 20 它工作得很好 直到我尝试用 transclude 包裹指令 女巫导致标题消失 如上所示htt
  • 通过整数数组中的索引查询表

    在我从 VB NET 转换数据 to timestamp 和 to number 获得出色的结果后 我想知道 PostgreSQL 是否有可能通过来自 NET 的整数数组查询表索引 比如说 我的数组充满了 1 3 5 6 9 Postgre
  • SQLite 整数数据类型(如 int、integer、bigint 等)之间有什么区别?

    sqlite 中整数数据类型有什么区别 INT INTEGER TINYINT小智中薄荷 BIGINT无符号大整型 INT2 INT8 哪一个可以存储 32 位整数 哪一个可以存储 64 位值 支持128位吗 我现在发现整数数据大小有点令人
  • 为什么要封一个班级?

    我想听听 Net 框架中大量密封类背后的动机是什么 密封一个类有什么好处 我无法理解不允许继承如何有用 而且很可能不是唯一一个与这些类作斗争的人 那么 为什么框架要这样设计 难道这不是一个突破性的改变来揭开一切吗 除了邪恶之外 一定还有其他
  • 如何让我的简单扭曲代理工作?

    我正在尝试利用扭曲网框架 请注意三行注释 line1 line2 line3 我想创建一个代理 网关 它将根据 url 将请求转发到两个服务器之一 如果我取消注释 1 或 2 并注释其余部分 请求将被代理到正确的服务器 但是 当然 它不会根