Csharp/C#教程:在Web浏览器控件中设置代理凭据分享


在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(); 

resultFresultG返回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

(0)
上一篇 2022年1月9日
下一篇 2022年1月9日

精彩推荐