gpt4 book ai didi

python - Pyramid 替换 URL Matchdict 中的双正斜杠

转载 作者:行者123 更新时间:2023-11-30 23:43:14 24 4
gpt4 key购买 nike

本质上,我只是在 Pyramid 内部构建一个 API 重定向路由来处理跨域 AJAX 请求,而不使用 JSONP。

我添加了一条路线,如下所示:

config.add_route("api","/api/{url:.*}")

我想用它来捕获 URL,如下所示:

http://domain.com/api/http://location.of/other/api

但是,当从请求 matchdict 中获取捕获的 URL 后缀时,我得到以下结果:

http:/location.of/other/api

我猜测在 URL 处理/匹配过程中进行了一些转义?如何避免这种情况,并获得带有两个正斜杠的所需 URL?

即使我将 URL 作为 GET 参数传递,问题仍然存在。也许这与 Pyramid 的多重字典的工作方式有关?

最佳答案

这是任何基于 WSGI 的应用程序的基本限制。在将 URL 传递到 WSGI 应用程序之前,会对 URL 进行 url 解码并压缩斜杠。如果你想保留斜杠,你需要对它们进行两次编码。 AFAIK 使用查询字符串无法解决此问题。

我想我应该指出原始 URL 是可用的,但你必须从中解析出你自己关心的部分。它位于 request.url 中。 request.path_info 是 Pyramid 和大多数 WSGI 应用程序用来分派(dispatch) URL 的内容,因为它仅包含与应用程序安装位置相关的子路径。

关于python - Pyramid 替换 URL Matchdict 中的双正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10939108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com