C# 代理授权:HTTPS的基本标头失败
上面的代码用于将代理凭据传递给.NET WebBrowser控件。当连接到正常的HTTP URL时,它就像一个魔咒,但当连接到SSL时,它失败了。SSL工作的原因是什么?是否有更好的替代方案?这可能不是您想要的,但是您是否考虑过使用C# 代理授权:HTTPS的基本标头失败,c#,http-headers,webbrowser-control,C#,Http Headers,Webbrowser Control,上面的代码用于将代理凭据传递给.NET WebBrowser控件。当连接到正常的HTTP URL时,它就像一个魔咒,但当连接到SSL时,它失败了。SSL工作的原因是什么?是否有更好的替代方案?这可能不是您想要的,但是您是否考虑过使用HttpWebRequest来完成此任务HttpWebRequest可以使用支持使用NetworkCredentials的WebProxy,这样您就不必乱搞标题了 如果您需要WebBrowser控件来显示页面,或许只需使用它即可。使用HttpWebRequest执行实
HttpWebRequest
来完成此任务HttpWebRequest
可以使用支持使用NetworkCredentials
的WebProxy
,这样您就不必乱搞标题了
如果您需要WebBrowser
控件来显示页面,或许只需使用它即可。使用HttpWebRequest
执行实际传输,并在WebBrowser
中呈现内容
供参考:
var credentialStringValue = user + ":" + pass;
var credentialByteArray = ASCIIEncoding.ASCII.GetBytes(credentialStringValue);
var credentialBase64String = Convert.ToBase64String(credentialByteArray);
string authObject = string.Format("Proxy-Authorization: Basic {0}{1}", credentialBase64String, Environment.NewLine);
System.Windows.Forms.WebBrowser _WebBrowser = new System.Windows.Forms.WebBrowser();
_WebBrowser.Navigate("http://www.google.com", string.Empty, null, authObject);