Grails HTTP 代理

发布于 2025-01-06 15:05:19 字数 493 浏览 0 评论 0原文

我想在 grails 中创建一个代理控制器,它只接受基于 url 映射传入的任何内容,记录所请求的内容,将请求发送到另一台服务器,记录响应,然后将响应发送回浏览器。

当请求具有奇怪的文件扩展名 (.gif) 或没有文件扩展名 (/xxx?sdcscd) 时,我遇到麻烦

我的 url 映射是:

"/proxy/$target**"

并且我已经尝试过(根据另一个问题的答案):

def targetURL = params.target
if (!FilenameUtils.getExtension(targetURL) && request.format) {
    targetURL += ".${response.format}"
}

但这通常附加 .html 而从不附加 .gif 或 ?csdcsd

不知道该怎么做,因为我可能只是直接用 Java 编写该内容

I want to create a proxy controller in grails, something that just takes whatever is passed in based on a url mapping, records what was asked for, sends the request to another server, records the response, and send the response back to the browser.

I'm having trouble with when the request has an odd file extension (.gif) or no file extension (/xxx?sdcscd)

My url mapping is:

"/proxy/$target**"

and I've attempted (per an answer to another question):

def targetURL = params.target
if (!FilenameUtils.getExtension(targetURL) && request.format) {
    targetURL += ".${response.format}"
}

but this usually appends .html and never the .gif or ?csdcsd

Not sure what to do as I might just write the thing in straight Java

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

滥情哥ㄟ 2025-01-13 15:05:19

实际上,真正的答案就在您之前链接到的帖子 一直以来,作者:Peter Ledbrook:

通过将此行添加到 grails-app/conf/Config.groovy 来禁用文件扩展名截断:

grails.mime.file.extensions = false

这将禁用文件扩展名的格式使用,但会将文件扩展名保留在 params.target 上。您可以完全忽略response.format

Actually, the real answer was sitting in the post you linked to previously all along, by Peter Ledbrook:

Disable file extension truncation by adding this line to grails-app/conf/Config.groovy:

grails.mime.file.extensions = false

This will disable the usage of file extensions for format, but will leave the file extension on params.target. You can completely ignore response.format!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文