1.1和2.0下进行https请求的不同实现

heart无名无名

heart无名无名

2016-02-19 20:59

下面是个超简单的1.1和2.0下进行https请求的不同实现教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

  今天做项目中进行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;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  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;
          }
      }
  }

  http://www.cnblogs.com/david8k/archive/2006/11/06/551911.html

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

1.1和2.0下进行https请求的不同实现

Web开发
1.1和2.0下进行https请求的不同实现

基于ajax异步请求的实现

Web开发
基于ajax异步请求的实现

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

实现发送多个Ajax请求

Web开发
实现发送多个Ajax请求

java应用 tomcat中实现https安全连接的方法

编程语言 网络编程
java应用 tomcat中实现https安全连接的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

https是什么http与https的区别

电脑入门
https是什么http与https的区别

配置iis和resin1.1

Java JAVA基础
配置iis和resin1.1

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

修复注册表 解决语言栏消失的问题

修复注册表 解决语言栏消失的问题

关于快速简便的使用AJAX技术操作的介绍

关于快速简便的使用AJAX技术操作的介绍
下拉加载更多内容 ↓