Использование системных настроек прокси или переопределения на уровне сеанса в URLSession
Позвольте URLSession по умолчанию использовать системные настройки прокси, а намеренные переопределения ограничьте настроенным сеансом.
Приложение macOS, использующее URLSession, обычно может следовать политике прокси машины, не требуя от пользователя повторно вводить тот же прокси. Apple документирует, что значение connectionProxyDictionary по умолчанию использует системные настройки.
Менеджер загрузок может обоснованно предложить собственную настройку прокси. Сделайте выбор явным: «Использовать системные настройки» и намеренно настроенный сеанс — это разные режимы. Копирование одного текущего адреса прокси создаёт снимок маршрута.
Примените собственную политику до создания сеанса. URLSession копирует переданную конфигурацию; изменение исходного объекта конфигурации позже не обновляет существующий сеанс. Когда пользователь меняет настройку прокси приложения, организуйте новый сеанс для новой политики и решите, как должны завершиться или быть отменены уже выполняющиеся запросы.
Для поддерживаемых целей развёртывания Apple теперь рекомендует proxyConfigurations вместо более старого словарного интерфейса, поскольку он поддерживает безопасные типы прокси и ретрансляции. Прежде чем выбирать этот интерфейс, проверьте доступность API относительно минимальной версии операционной системы приложения.
Это поведение относится к URLSession. Пакету, который открывает собственные сокеты или использует другую реализацию HTTP, нужна собственная поддержка прокси. Определите этот транспорт до изменения системных настроек.