INTERNET_OPEN_TYPE_DIRECT против INTERNET_OPEN_TYPE_PRECONFIG - PullRequest
1 голос
/ 03 февраля 2012

В этой документации для InternetOpen MSDN гласит:

Используйте INTERNET_OPEN_TYPE_DIRECT, если система, в которой работает приложение, использует прямое подключение к Интернету. ...

Используйте INTERNET_OPEN_TYPE_PROXY, если система, в которой работает приложение, использует один или несколько прокси-серверов для доступа в Интернет.

INTERNET_OPEN_TYPE_PRECONFIG просматривает значения реестра ProxyEnable, ProxyServer и ProxyOverride. ... Если ProxyEnable равен нулю, приложение использует INTERNET_OPEN_TYPE_DIRECT. В противном случае приложение использует INTERNET_OPEN_TYPE_PROXY и использует информацию ProxyServer и ProxyOverride.

Я интерпретировал это как означающее, что если вы пишете приложение, в котором есть вероятность, что пользователь находится за прокси-сервером, вы должны использовать INTERNET_OPEN_TYPE_PRECONFIG, и Windows автоматически выберет опцию «direct», если пользователь за прокси.

Однако у ряда пользователей возникли проблемы с плохо настроенными установками Windows, для которых по какой-то причине настроен плохой прокси-сервер. Поскольку мы используем INTERNET_OPEN_TYPE_PRECONFIG, доступ к Интернету для этих пользователей не работает. Некоторые из них могут разрешить неправильную конфигурацию, но не все.

Есть ли минус в использовании INTERNET_OPEN_TYPE_DIRECT вместо _PRECONFIG? Звучит так, будто мы должны использовать _PRECONFIG, если мы хотим быть хорошим гражданином, но мы можем избавить себя и наших пользователей от множества головных болей, если мы просто используем _DIRECT.

...