Я работаю над старым кодом, где приложение использует AxSHDocVw.AxWebBrowser
(неSystem.Windows.Forms.Control
), чтобы открыть веб-страницу, и я продлевая срок его принять прокси в соображения.Set Proxy Credential в Web Control Browser
У меня есть следующий пример: http://www.pinvoke.net/default.aspx/wininet/internetsetoption.html использовать InternetSetOption()
, чтобы пройти через указанный прокси-сервер и проверить, что он работает.
Теперь препятствие, я попробовал все, но не в состоянии передать имя пользователя и пароль с помощью следующего кода:
//-- Set Proxy Username
bool resultF = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY_USERNAME, username, username.Length+1);
var errorF = Marshal.GetLastWin32Error();
//-- Set Proxy Password
bool resultG = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY_PASSWORD, password, password.Length+1);
var errorG = Marshal.GetLastWin32Error();
Оба resultF
и resultG
возвращение true
и не имеет ошибок, но он по-прежнему работает. Любой намек на то, что может здесь происходить? и какой метод я должен отлаживать?
Заранее спасибо.
можно дублировать HTTP: // StackOverflow .com/questions/2499568/how-to-set-a-proxy-for-webbrowser-control-without-effect-the-system-ie-proxy/2504683 # 2504683 –
Похоже, что это сработало, но если это нет, вам, вероятно, потребуется реализовать обратный вызов IHTTPNegotiate и добавить туда свой код. – EricLaw