我正在使用NETunnelProviderManager
HTTP/HTTPS 代理实现 VPN。
我有来自代理服务器的基本身份验证来对其进行身份验证,并且我需要定期更新密码。
因此,要为代理服务器设置凭据,我已经实现了如下所示的一些想法:
self.vpnManager.protocolConfiguration.proxySettings.HTTPSServer = [[NEProxyServer alloc] initWithAddress:proxyServer port:proxyPort];
self.vpnManager.protocolConfiguration.proxySettings.HTTPSServer.authenticationRequired = YES;
self.vpnManager.protocolConfiguration.proxySettings.HTTPSServer.username = proxyUser;
self.vpnManager.protocolConfiguration.proxySettings.HTTPSServer.password = proxyPassword;
设置此详细信息后,我正在保存首选项,并且在下次启动时,如果我加载首选项,我可以找到我在那里设置的值。但是,当我启动 VPN 并开始通过 VPN(Proxy) Proxy 访问任何内容时,它会立即显示 dialog Proxy Authentication Required
。只是为了仔细检查,如果我检查日志,self.vpnManager.protocolConfiguration
我可以清楚地看到我的密码和用户名,但仍然会显示一个对话框,用于手动输入代理的用户凭据。
如果有人能告诉我为什么我已经配置的代理密码和用户名不被考虑,如果我以编程方式在NEProxyServer
任何人都可以建议一些可以帮助我在后台自动更新凭据而不要求用户输入代理凭据的东西,比如我们在NSURLSession
's case 中的委托?
任何回应和帮助都将是可观的。