在Web浏览器控件中设置代理凭据
我正在处理一个遗留代码,其中一个应用程序使用AxSHDocVw.AxWebBrowser
( 而不是 System.Windows.Forms.Control
)来打开网页并扩展它以考虑代理。
我在https://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
并且没有错误但它仍然有效。 有关这里可能发生的事情的暗示吗? 我有什么方法来调试这个?
提前致谢。
我实际上找到了一个可行的解决方案,在导航中使用代理身份validation在标题中:
var credentialStringValue = "user:pass"; var credentialByteArray = ASCIIEncoding.ASCII.GetBytes(credentialStringValue); var credentialBase64String = Convert.ToBase64String(credentialByteArray); Object nullObject = 0; Object nullObjectString = ""; Object authObject = string.Format("Proxy-Authorization: Basic {0}{1}", credentialBase64String, Environment.NewLine); browser.Navigate(args.Url, ref nullObject, ref nullObject, ref nullObjectString, ref authObject);
browser
在哪里:
上述就是C#学习教程:在Web浏览器控件中设置代理凭据分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
public AxWebBrowser browser;
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1027156.html