【发布时间】:2011-01-31 23:56:07
【问题描述】:
我正在处理一个遗留代码,其中应用程序使用AxSHDocVw.AxWebBrowser(notSystem.Windows.Forms.Control)打开网页,并正在扩展它以考虑代理。
我在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 并且没有错误,但它仍然有效。关于这里可能发生的事情的任何提示?我必须用什么方法来调试它?
提前致谢。
【问题讨论】:
-
看起来它应该可以工作,但如果没有,您可能需要实现 IHTTPNegotiate 回调并在其中添加您的代码。
标签: c# .net proxy webbrowser-control credentials