Youtube видео не работает на тестовом сервере

В среде 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, Кто-нибудь может помочь объяснить, почему он так изменился, и может предоставить обходной путь для получения исходного URL-адреса в Enfinity (или, по крайней мере, определить, находится ли URL-адрес в http или https)? Этот сайт использует переписывание URL, но я думаю, что в обоих URL-адресах нет записи URL. Благодарю.

1 ответ

Решение

Если вам нужна только часть http или https, я бы рекомендовал не получить полный URL, а только схему.
Схема запроса определяет, где протокол URL - http или https. в коде вы можете получить схему с помощью request.getScheme()
Кроме того, вы можете получить имя сервера по (домен вашего URL с помощью request.getServerName()
и вы можете получить порт с помощью здесь введите код request.getServerPort()

Другие вопросы по тегам