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工作的地方有没有更好的替代方案?
发布于 2011-06-07 19:42:21
这可能不是您想要的,但是您是否考虑过使用HttpWebRequest来完成此任务?HttpWebRequest可以使用一个支持使用NetworkCredentials的WebProxy,这样您就不必纠结于头部。
如果你需要WebBrowser控件来显示页面,也许只需要使用它就可以了。使用HttpWebRequest进行实际传输,并在WebBrowser中呈现内容。
参考:HttpWebRequest & WebProxy
https://stackoverflow.com/questions/6261763
复制相似问题