Utilizarea setărilor de proxy ale sistemului sau a unei suprascrieri de sesiune în URLSession
Lăsați URLSession să folosească implicit setările de proxy ale sistemului și limitați suprascrierile deliberate la o sesiune configurată.
O aplicație macOS care folosește URLSession poate de obicei să urmeze politica de proxy a mașinii fără a-i cere utilizatorului să introducă din nou același proxy. Apple documentează că valoarea implicită a connectionProxyDictionary folosește setările sistemului.
Un manager de descărcări poate oferi în mod rezonabil propria preferință de proxy. Faceți alegerea explicită: „Folosește setările sistemului” și o sesiune configurată deliberat sunt moduri diferite. Copierea unei adrese de proxy curente creează o instantanee a rutei.
Aplicați o politică personalizată înainte de a crea sesiunea. URLSession copiază configurația furnizată; modificarea ulterioară a obiectului de configurare original nu actualizează sesiunea existentă. Când un utilizator schimbă preferința de proxy a aplicației, pregătiți o sesiune nouă pentru noua politică și decideți cum trebuie să se încheie sau să fie anulate cererile deja în curs.
Pentru țintele de implementare acceptate, Apple recomandă acum proxyConfigurations în locul interfeței mai vechi cu dicționar, deoarece acceptă tipuri securizate de proxy și de retransmisie. Verificați disponibilitatea API-ului față de versiunea minimă de sistem de operare a aplicației înainte de a alege acea interfață.
Acest comportament aparține URLSession. Un pachet care își deschide propriile socketuri sau folosește altă implementare HTTP are nevoie de propriul suport de proxy. Identificați acel transport înainte de a modifica preferințele sistemului.