Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Решение проблемы с компонентом TWebBrowser в FireMonkey для Delphi 10.4.2 на iPhone

Delphi , Интернет и Сети , Браузер

В процессе разработки приложений с использованием компонента TWebBrowser из библиотеки FireMonkey для Delphi 10.4.2, предназначенных для работы на платформе iPhone, разработчики могут столкнуться с проблемой, когда попытка открыть веб-страницу по IP-адресу приводит к зависанию браузера. В то время как Safari на том же устройстве без проблем открывает адреса в локальной сети.

Описание проблемы

Компонент TWebBrowser позволяет разработчику открывать локальные файлы (используя file://...) или URL (например, https://www...). Однако, попытка использования IP-адреса (например, 192.168.1... или http://192.168.1...) не приводит к желаемому результату – браузер просто зависает.

Возможное решение

Проблема заключается в том, что большинство браузеров блокируют доступ к веб-сайтам, используя протокол HTTPS и IP-адрес. Это связано с тем, что цифровые сертификаты, подтверждающие подлинность веб-сайта, базируются на доменных именах, а не на IP-адресах. Браузеры отказываются загружать страницу, если сертификат сайта не соответствует указанному доменному имени.

Для тестирования этого даже в вашем стандартном браузере, попробуйте открыть HTTPS-сайт, используя IP-адрес в формате https://x.x.x.x:443. Обратите внимание, что добавление порта 443 к URL необходимо, так как большинство браузеров по умолчанию будут пытаться открыть страницу через порт 80, предназначенный для HTTP, даже если вы указали протокол HTTPS в URL.

Если веб-сайт поддерживает оба протокола (HTTP и HTTPS), вы можете оказаться на HTTP-версии сайта, даже если в URL указали HTTPS. Кроме того, если HTTP-сайт автоматически перенаправляет на HTTPS-версию, вы можете в итоге оказаться на HTTPS-сайте, но с правильным доменным именем, а не с указанным IP-адресом.

Пример кода

// Пример кода, который не будет работать с IP-адресом
WebBrowser1.Navigate('http://192.168.1.100');

// Пример кода, который может быть использован для тестирования
// (в большинстве случаев не будет работать, так как описано выше)
WebBrowser1.Navigate('https://192.168.1.100:443');

Рекомендации

Для корректной работы компонента TWebBrowser используйте доменные имена вместо IP-адресов. Если вам необходимо использовать IP-адрес для разработки или тестирования, убедитесь, что вы понимаете ограничения, связанные с использованием IP-адресов вместо доменных имен.

Заключение

Использование IP-адресов в компоненте TWebBrowser может быть ограничено из-за механизмов безопасности, связанных с веб-сертификатами. Для успешной разработки приложений на Delphi 10.4.2 для платформы iPhone рекомендуется использовать доменные имена вместо IP-адресов.

Создано по материалам из источника по ссылке.

Разработчики сталкиваются с проблемой работы компонента TWebBrowser в FireMonkey для Delphi 10.4.2 на iPhone при попытке открыть веб-страницу по IP-адресу, что приводит к зависанию браузера.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-20 22:30:11/0.0019650459289551/0