在 Web 浏览器控件中设置代理凭据
我正在处理旧代码,其中应用程序使用 AxSHDocVw.AxWebBrowser
(不是 System.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
并且没有错误,但是它仍然有效。关于这里可能发生什么的任何暗示吗?我必须用什么方法来调试这个?
提前致谢。
I am working on a legacy code where an application uses AxSHDocVw.AxWebBrowser
(not System.Windows.Forms.Control
) to open up web pages and am extending it to take proxy into considerations.
I have following example on http://www.pinvoke.net/default.aspx/wininet/internetsetoption.html to use InternetSetOption()
to go through specified proxy and tested that it works.
Now the hurdle is I tried everything but failed to pass username and password with following code:
//-- 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();
Both resultF
and resultG
return true
and has no errors but it still working. Any hint on what may be happening here? and what method do I have to debug this?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我实际上找到了一个可行的解决方案,它位于 header: 中的 Proxy-Authentication 导航下,
其中
browser
是:I actually found a work'able solution, where it was lie under navigation with Proxy-Authentication in header:
where
browser
is: