代理授权:HTTPS的基本标头失败

本文关键字:失败 授权 HTTPS 代理 | 更新日期: 2023-09-27 17:58:28

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的基本标头失败

这可能不是您想要的,但您是否考虑过使用HttpWebRequest来完成此任务?HttpWebRequest可以使用一个支持使用NetworkCredentialsWebProxy,这样就不必乱处理头了。

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

参考:HttpWebRequest&WebProxy