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工作的地方有更好的替代方案吗?
答案 0 :(得分:0)
这可能不是您要找的,但您是否考虑过使用HttpWebRequest
来完成此任务? HttpWebRequest
可以使用WebProxy
支持使用NetworkCredentials
,因此您无需使用标题。
如果您需要WebBrowser
控件来显示页面,也许只需使用它即可。使用HttpWebRequest
进行实际转移并在WebBrowser
中呈现内容。
供参考:HttpWebRequest& WebProxy