您的位置:首页 > 理论基础 > 计算机网络

C#、VB.NET使用HttpWebRequest访问https地址(SSL)的实现方法

2010-12-27 18:53 1256 查看
view sourceprint?using System.Net;

using System.Net.Security;

using System.Security.Authentication;

using System.Security.Cryptography.X509Certificates;

.Net 1.1

view sourceprint?01 internal class AcceptAllCertificatePolicy : ICertificatePolicy

{

public AcceptAllCertificatePolicy()

{

}

public bool CheckValidationResult(ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest wRequest, int certProb)

{

//直接确认

return true;

}

}

private void button1_Click(object sender, EventArgs e)

{

ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();

HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri("https://XXXX"));

req.Method = "GET";

HttpWebResponse res = (HttpWebResponse)req.GetResponse();

//...正常使用了,和访问普通的 http:// 地址一样了

}

.Net 2.0

view sourceprint?01 public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)

{

//直接确认,否则打不开

return true;

}

private void button1_Click(object sender, EventArgs e)

{

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);

HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri("https://XXXX"));

req.Method = "GET";

HttpWebResponse res = (HttpWebResponse)req.GetResponse();

//...正常使用了,和访问普通的 http:// 地址一样了

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: