Я хочу получить мой Прокси-сервер системы по умолчанию с сохраненными учетными данными. Сценарий: у меня есть Cef browserControl, для которого мне нужно установить параметры прокси. Я установил на своей машине сервер squid и создал пользователя с паролем. Я настроил свой Windows 10, чтобы он использовал прокси-сервер squid. Я добавил учетные данные пользователя в windows CredentialManager (см. Рисунок. AnmeldeInformationsVerwaltung)
Что до сих пор не получалось: я пытался получить настройки прокси через WebRequest.GetSystemWebProxy();
, который работает хорошо. Проблема, с которой я сталкиваюсь, заключается в том, что SystemWebProxy не имеет прикрепленных учетных данных.
Есть ли возможность получить прокси с прикрепленными учетными данными или получить сами учетные данные?
Мой элементарный метод выглядит следующим образом
private static void SetCefProxyWithSystemProxy()
{
Uri address = null;
String userName = String.Empty;
String password = String.Empty;
if (this.Kernel.TryGetSystemProxyUri(out address))
{
try
{
//out address.AbsoluteURI = http://192.168.178.48:3128/
//out addrsss.Host = 192.168.178.48
IWebProxy webProxy = WebRequest.GetSystemWebProxy();
NetworkCredential credential = ((NetworkCredential)webProxy.Credentials); //Maybe?
if (credential == null)
{
System.Net.NetworkCredential cred = new NetworkCredential();
credential = cred.GetCredential(address, "Basic"); //Maybe this? //Whats
//empty credentials found :/
}
if (credential != null)
{
userName = credential.UserName;
password = credential.Password;
}
}
catch (Exception ex)
{
//Logging action
}
CefSharpSettings.Proxy = new ProxyOptions(address.Host, address.Port.SafelyToString(), userName, password);
}
}