Как отобразить веб-страницу без блокировки брандмауэром? - PullRequest
0 голосов
/ 23 декабря 2008

Я хочу, чтобы наше приложение показывало страницу интерактивной справки (чтобы она всегда была актуальной) или даже локальную страницу. Однако он может быть заблокирован брандмауэром (Zone Alarm).

Кстати, я проверил это с помощью Zone Alarm. Он заблокировал доступ к локальному файлу .html, а также к файлу .asp в Интернете. (Т.е. попытался отобразить страницу в Internet Explorer и получил диалоговое окно Zone Alarm, спрашивающее, хочу ли я дать разрешение на отображение

Есть ли способ обойти это? Возможно отображение веб-страницы в элементе управления веб-браузера?

Ответы [ 3 ]

0 голосов
/ 23 декабря 2008

На самом деле очень маловероятно, что веб-трафик блокируется на брандмауэре (разве вы имеете в виду, что тип файла заблокирован?). Однако в такой настройке вам может потребоваться использовать тот же прокси, что и IE, поскольку прямой трафик может быть заблокирован.

Самый простой способ сделать это - использовать высокоуровневый Windows API или сам IE, и HTTP загрузить последний файл справки, если есть новый - эти механизмы должны знать о любом прокси.

Конечно, ваши пользователи могут не использовать IE, даже если большинство из них. Поэтому вам может потребоваться разрешить пользователю указывать прокси или иметь возможность автоматически настраивать прокси так же, как это делает браузер.

edit: я вижу, вы имеете в виду, что zonealarm является частью проблемы. да, это сложно, так как вам придется либо «благословлять» свое приложение централизованно тем, кто управляет зонной сигнализацией в организации заказчика, либо (если нет централизованного управления), тогда пользователю придется разрешить приложению взаимодействовать. Возможно, вам следует прикусить пулю и иметь онлайн-справку, просто стать веб-сайтом и запустить предпочтительный браузер через «выполнение» URL-адреса, как предлагается в другом ответе.

0 голосов
/ 23 декабря 2008

Чтобы открыть веб-страницу с помощью предпочитаемого пользователем браузера (с соответствующими настройками прокси-сервера и аутентификации), используйте что-то вроде ShellExecute с URL-адресом документа для загрузки. Нечто подобное может сделать это (где page - это URL для загрузки):

HINSTANCE r = ShellExecute(NULL, "open", page, NULL, NULL, SW_SHOWNORMAL);
0 голосов
/ 23 декабря 2008

Если веб-браузер не заблокирован брандмауэром, он, вероятно, откроет порт 8080 для любого приложения и, следовательно, ваше приложение не должно быть заблокировано.

Если брандмауэр разрешил только порт 8080 для IE; вам придется пробить дыру в брандмауэре, чтобы использовать новый браузер, такой как Firefox или Chrome.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...