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

.net2005和2003下进行https请求的不同实现

2007-03-06 14:39 465 查看
// 2005 下 Frame2.0

private void MainCert()
{
//使用https 时,可免证书合法性
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);

}
public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{ // Always accept
return true;
}

//2003 下 frame 1.1

private void MainCert()
{
//使用https 时,可免证书合法性
// System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy(); }

internal class TrustAllCertificatePolicy: ICertificatePolicy
{
public AcceptAllCertificatePolicy()
{
}

public bool CheckValidationResult(ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest wRequest, int certProb)
{
// Always accept
return true;
}
}

别望了引namespace:

using System.Net;
using System.IO;
using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://someurl");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Page.Response.Write(readStream.ReadToEnd());
response.Close();
readStream.Close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: