URLSession에서 시스템 프록시 설정 또는 세션 재정의 사용
URLSession이 기본적으로 시스템 프록시 설정을 사용하도록 하고, 의도적인 재정의는 구성된 세션으로 한정합니다.
URLSession을 사용하는 macOS 앱은 보통 머신의 프록시 정책을 따를 수 있으며 사용자에게 같은 프록시를 다시 입력하라고 요구하지 않습니다. Apple은 connectionProxyDictionary의 기본값이 시스템 설정을 사용한다고 문서화합니다.
다운로드 관리자가 자체 프록시 설정을 제공하는 것은 합리적입니다. 선택을 명확히 하세요. “시스템 설정 사용”과 의도적으로 구성한 세션은 서로 다른 모드입니다. 현재 프록시 주소 하나를 복사하면 경로의 스냅숏이 만들어집니다.
세션을 만들기 전에 사용자 지정 정책을 적용하세요. URLSession은 전달된 구성을 복사합니다. 나중에 원래 구성 객체를 변경해도 기존 세션은 갱신되지 않습니다. 사용자가 앱의 프록시 설정을 바꾸면 새 정책을 위한 새 세션을 마련하고, 이미 진행 중인 요청을 어떻게 완료하거나 취소할지 결정하세요.
지원되는 배포 대상에서는 Apple이 이제 이전 사전 인터페이스 대신 proxyConfigurations을 권장합니다. 보안 프록시와 릴레이 유형을 지원하기 때문입니다. 해당 인터페이스를 선택하기 전에 앱의 최소 운영 체제 버전에 대해 API 사용 가능 여부를 확인하세요.
이 동작은 URLSession에 속합니다. 자체 소켓을 열거나 다른 HTTP 구현을 사용하는 패키지는 자체 프록시 지원이 필요합니다. 시스템 환경설정을 변경하기 전에 그 전송 방식을 확인하세요.