ASP.NET1.1和2.0下进行https请求的不同实现

asp.net|请求

今天做项目中进行https请求时遇到这样的调试错误,内部错误:未能为 SSL/TLS 安全通道建立信任关系。错误页面:根据验证过程,远程证书无效。经过分析,在浏览器中打开要进行一个安全确认。就是这个对话框引起的问题。在网上搜了一下一般的解决办法,但是搜的内容比较少,现在在这里总结一下。

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.IO;
using System.Text;
using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //for 1.1 在2.0下ServicePointManager.CertificatePolicy已经过时
        //ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
        //for 2.0
        //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
        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();
    }
    //for 2.0
    public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
    {   //   Always   accept  
        return true;
    }
    //for 1.1
    internal class AcceptAllCertificatePolicy : ICertificatePolicy
    {
        public AcceptAllCertificatePolicy()
        {
        }

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

时间: 2024-09-19 09:53:36

ASP.NET1.1和2.0下进行https请求的不同实现的相关文章

在asp.net1.1和2.0下通过Membership完成帐户验证

最近在研究Membership这个东西,也就是一个微软提供Account,由于他的通用性这个Membership集成在VS2005中了,新的登录控件等都是用的Membership.其实Membership在1.1的时候就有了,不过是单独发布的一个组件,我最早是见于CommunityServer.把他们的数据库拿来分析对比可以发现,其实表,视图是完全一样的,不过就是存储过程不同.但这个不同可就麻烦了,1.1的Membership根本无法在2.0的数据库中添加帐户什么的,同样2.0的Membersh

Asp.net1.0 升级 ASP.NET 2.0 的几个问题总结

asp.net|问题 这几天升级了一下原来的1.1项目,发现了一些问题,总结一下放在这里,也提醒还没有来得及升级或准备升级的朋友,升级的过程中少走弯路,少浪费时间.1.Global.asax文件的处理形式不一样,转化后将出现错误,在vs2003中Global.asax具有代码后置文件,2.0下, 将代码分离文件移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问."Code-behind"属性将从 ASAX 文件的指令中删除.vs2005则直

数据绑定控件再ASP.NET1.X和ASP.NET2.0的区别

asp.net|控件|区别|数据 数据绑定在ASP.NET2.0里进一步得到简化,绑定控件的基类来自于BaseDataBoundControl,你可以到http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.basedataboundcontrol_members(VS.80).aspx查看该类如果你查看该类的成员,请注意下面两个属性和方法 virtual object DataSource  { get; set;

ASP.NET1.0/2.0里用DIV层元素弹出窗体

asp.net 本文 Bilal Haidar 将带领您如何使用DIV元素来创建弹出的窗体,这种弹出即可以包含简单的HTML元素也可以包含ASP.NET服务器控件,而且在实现过程中没有使用传统的window函数和showModalDialog / showModelessDialog函数(传统的我们使用 window.open,或者showModalDialog 这样的函数来制作弹出窗口--天天注释) 最近我在用ASP.NET1.1技术来开发一个窗体,该窗体包含由三个控件组成的一个面板集合,这个

Asp.net1.0升级至ASP.NET2.0十个问题总结

asp.net|问题 这几天升级了一下原来的1.1项目,发现了一些问题,总结一下放在这里,也提醒还没有来得及升级或准备升级的朋友,升级的过程中少走弯路,少浪费时间. 1.Global.asax文件的处理形式不一样 转化后将出现错误,在vs2003中Global.asax具有代码后置文件,2.0下, 将代码分离文件移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问."Code-behind"属性将从 ASAX 文件的指令中删除.vs2005则

ASP.NET1.0升级ASP.NET2.0的问题总结

asp.net|问题     这几天升级了一下原来的1.1项目,发现了一些问题,总结一下放在这里,也提醒还没有来得及升级或准备升级的朋友,升级的过程中少走弯路,少浪费时间. 1.Global.asax文件的处理形式不一样,转化后将出现错误 在vs2003中Global.asax具有代码后置文件,2.0下, 将代码分离文件移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问."Code-behind"属性将从 ASAX 文件的指令中删除.vs2

麻烦问下如何动态生成html表格装载datatable值?(vs2003,asp.net1.1, vb.net)

问题描述 系统是vs2003,asp.net1.1,vb.net.现在我已经从数据库中查询取得数据,放在一个datatable中.麻烦的问题来了,要生成一个待打印的页面,该页面里的数据是放在html表格里的.问题是要读取datatable值,动态生成和datatable当前行数.列数相等的html表格,将datatable中数据放进html表格.真麻烦啊,我是新手,单位里又缺乏互助,在这里请教论坛里的各位朋友,谢谢!!!! 解决方案 解决方案二:水晶报表解决方案三:后台定义一个datatable

asp.net2.0下 如何实现服务器端压缩包自解压

asp.net2.0下,如何实现服务器端压缩包自解压using System;using System.Data;using System.Configuration;using System.Web; using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlContr

asp.net 2.0下嵌套masterpage页的可视化编辑

asp.net|erp   相信大家都用过asp.net 2.0下的嵌套的masterpage功能,该功能很强大,可以让用户先制作出模版页后,然后很容易地套用到其他页面中去.而且模版页还可以嵌套的,但嵌套后的模版页,我们会发觉有一个问题,那就是当使用嵌套的模版页后,在设计视图状态下,是没办法对其进行可视化操作的,那么如何解决这个问题呢?我找了下老外的blog,找到了老外提供的一个方法,暂且可以绕个弯来解决该问题,下面讲解一下:    我们可以写一个基类,叫basepage.cs,放在app_co