Een Android-app kan het huidige proxyadres nodig hebben zonder de verbindingsinstellingen te bezitten. Begin bij de netwerkproxy-interface in plaats van te zoeken naar een databasekolom met de naam user of password.

De telefonie-APN-configuratie beschrijft providertoegang. De accountvelden ervan horen bij die configuratie. Ze zijn geen algemene opslag van inloggegevens voor de HTTP-proxy die is gekozen op Wi-Fi, een beheerd netwerk of een privéverbinding van een app.

Benodigde informatieRelevante configuratie
Data-toegangsaccount van de providerAPN-instellingen, met de toegangsbeperkingen van het platform
Huidige netwerk-HTTP-proxyConnectivityManager en ProxyInfo
Login die een gekozen proxy vereistDe door de client ondersteunde authenticatiestroom en de goedgekeurde accountbron

Op een ondersteunde Android-versie retourneert ConnectivityManager.getDefaultProxy() de toepasselijke proxy-informatie. Het resultaat kan ontbreken. Een ProxyInfo kan een direct eindpunt of een PAC-configuratie beschrijven, dus inspecteer de vorm voordat je elk resultaat als host-en-poortpaar behandelt.

ProxyInfo biedt geen universeel gebruikersnaam/wachtwoordpaar. Als de gekozen service authenticatie vereist, verkrijg dan het bedoelde account via de door de app ondersteunde inloggegevensregeling. Een proxy-uitdaging en een providerlogin kunnen volledig verschillende identiteiten gebruiken.

Dit scheidt ook ontdekking van gebruik. Een native socket of een SDK met eigen transport wordt niet proxybewust alleen omdat de app ProxyInfo kan lezen. Geef de gekozen route aan een client die het protocol en de authenticatiemethode ondersteunt.

Oudere voorbeelden die een telefonie-contentprovider bevragen, beschrijven specifieke Android-versies en machtigingen. Ze zijn nuttige historische context, maar ze kunnen van een APN-account niet het ontbrekende wachtwoord voor een niet-gerelateerde proxy maken.

Gerelateerde artikelen