Een macOS-app die URLSession gebruikt, kan normaal het proxybeleid van de machine volgen zonder de gebruiker te vragen dezelfde proxy opnieuw in te voeren. Apple documenteert dat de standaardwaarde van connectionProxyDictionary de systeeminstellingen gebruikt.

Een downloadbeheerder kan redelijkerwijs zijn eigen proxyvoorkeur aanbieden. Maak de keuze expliciet: ‘Systeeminstellingen gebruiken’ en een bewust geconfigureerde sessie zijn verschillende modi. Het kopiëren van één actueel proxyadres maakt een momentopname van de route.

Pas een aangepast beleid toe voordat de sessie wordt gemaakt. URLSession kopieert de opgegeven configuratie; het later wijzigen van het oorspronkelijke configuratieobject werkt de bestaande sessie niet bij. Wanneer een gebruiker de proxyvoorkeur van de app wijzigt, regel dan een nieuwe sessie voor het nieuwe beleid en beslis hoe verzoeken die al bezig zijn moeten worden voltooid of geannuleerd.

Voor ondersteunde implementatiedoelen raadt Apple nu proxyConfigurations aan in plaats van de oudere woordenboekinterface, omdat die veilige proxy- en relaytypen ondersteunt. Controleer de beschikbaarheid van de API tegen de minimale besturingssysteemversie van de app voordat je die interface kiest.

Dit gedrag hoort bij URLSession. Een pakket dat zijn eigen sockets opent of een andere HTTP-implementatie gebruikt, heeft zijn eigen proxyondersteuning nodig. Identificeer dat transport voordat je systeemvoorkeuren wijzigt.

Gerelateerde artikelen