我正在尝试使用Crossbar的重定向服务重定向http请求(GET)。我正在使用'curl'来处理请求。重定向似乎工作正常,但我无法将我的(查询)参数传递给最终目标。具体来说,我在做:
curl -L "http://localhost:8008/redirection?num=15"
localhost:8008正在运行crossbar路由器。路径'/重定向'在Crossbar的配置文件中定义:
"redirection":{
"type": "redirect",
"url": "http://somewhere.com/something"
},
来自服务器的响应(例如http://somewhere.com/something)是:
{
"detail": "Missing query parameter 'num'",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}
我做错了什么?
答案 0 :(得分:0)
我找到了解决方案。我不确定这是否是正确的方法,但它确实有效。我在 http.py 文件中添加了一些代码行,该文件位于路径:/usr/local/lib/python3.4/dist-packages/twisted/web。具体来说,我改变了Request类的函数重定向,如下所示:
edge.create
所以,现在,“location”有新的网址 + 我的查询参数和重定向服务(Crossbar)正确地将我的参数传递到新目的地。
如果有更好的解决方案(也许我可以改变横杆中的东西而不是扭曲),请告诉我!