0

在 Enfinity 环境中,我想确定我的网站现在是在 HTTP 还是 HTTPS 上运行。我的方法是获取 URL,request.getRequestURL().toString();然后测试字符串是否有https://。地址栏中的 URL 是这样的:

https://test.example.com/is-bin/INTERSHOP.enfinity/WFS/Example-ExampleSite/en_US/-/USD/Pipeline-Start

但是,代码的结果是这样的:

http://test.example.com/servlet/Beehive/WFS/Example-ExampleSite/en_US/-/USD/Pipeline-Start

我并不真正关心 URL 上的差异,但我现在关心的是从 https 到 http 的变化。即使我从中检索并打印 URL,也会发生相同的结果ApplicationFrame。有没有人可以帮助解释为什么它会这样改变,并且可以提供解决方法来获取 Enfinity 中的原始 URL(或者至少检测 URL 是 http 还是 https)?该站点使用 url 重写,但我认为这两个 URL 结果都没有涉及 url 写入。谢谢。

4

1 回答 1

0

如果您只想要 http 或 https 部分,我建议您不要获取完整的 url,而只是获取方案。
请求方案定义了 url 协议是 http 还是 https。在代码中,您可以使用另外的方法获取方案request.getScheme()
,您可以通过(使用您的 url 的域,request.getServerName()
您可以使用在此处输入代码来获取端口)request.getServerPort()

于 2015-03-05T08:51:31.177 回答