2011-06-07 76 views
0
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); 

上面的代码用于将代理凭证传递给.NET WebBrowser控件。当转到正常的HTTP URL时,它就像一个魅力,但当连接到SSL时失败。这是什么原因,SSL有什么更好的选择?代理授权:HTTPS的基本标头失败

回答

0

这可能不是你正在寻找的,但你有没有考虑使用HttpWebRequest来完成这项任务? HttpWebRequest可以使用支持使用NetworkCredentialsWebProxy,因此您不必乱用头文件。

如果您需要WebBrowser控件来显示页面,也许只是使用它。使用HttpWebRequest进行实际传输并呈现WebBrowser中的内容。

仅供参考:HttpWebRequest & WebProxy