解决iis7.5服务器上.net 获取不到https页面的信息

 更新时间:2014年06月09日 14:26:55   作者:  
让我纠结了一天多的问题,给大家看下,有相同情况的可以不用浪费时间了,本人当时找了好半天都没找到什么有用的信息,项目在本地没有问题,但部署在服务器后,获取不到https页面的信息,加入下面的代码就可以了,因为iis7.5的安全协议比较高的原因。

我的获取页面需要cookie,不需要的可以去掉;

GET的方法:

复制代码 代码如下:

/// <summary>
        /// 获取URL访问的HTML内容 获取https 页面的
        /// </summary>
        /// <param name="Url">URL地址</param>
        /// <returns>HTML内容</returns>
        public static string GetWebContent(string Url, CookieContainer cookieContainer)
        {
            string strResult = "";
            try
            {
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                request.CookieContainer = cookieContainer;
                request.Timeout = 30000;
                request.Headers.Set("Pragma", "no-cache");

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream streamReceive = response.GetResponseStream();

                Encoding encoding = Encoding.GetEncoding("utf-8");
                StreamReader streamReader = new StreamReader(streamReceive, encoding);
                strResult = streamReader.ReadToEnd();
            }
            catch
            {

            }
            return strResult;
        }

 POST的方法:

复制代码 代码如下:

/// <summary>
        /// post提交数据到https
        /// </summary>
        /// <param name="posturl"></param>
        /// <param name="postdata"></param>
        /// <param name="header"></param>
        /// <param name="cookieContainer"></param>
        /// <returns></returns>
        public static string SetPostHtml(string posturl, string postdata, HttpHeader header, CookieContainer cookieContainer)
        {
            string restr = "";
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
            HttpWebRequest request = null;
            HttpWebResponse response = null;
            request = (HttpWebRequest)WebRequest.Create(posturl);
            request.CookieContainer = cookieContainer;
            request.Method = header.method;
            request.Referer = header.Referer;
            request.ContentType = header.contentType;
            byte[] postdatabyte = Encoding.UTF8.GetBytes(postdata);
            request.ContentLength = postdatabyte.Length;
            request.AllowAutoRedirect = false;
            request.KeepAlive = true;
            //提交请求
            Stream stream;
            stream = request.GetRequestStream();
            stream.Write(postdatabyte, 0, postdatabyte.Length);
            stream.Close();
            //接收响应
            response = (HttpWebResponse)request.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            {
                restr = reader.ReadToEnd().ToString();
            }
            return restr;
        }

相关文章

  • 发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量

    发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量

    这篇文章主要介绍了发布asp.net core时如何修改ASPNETCORE_ENVIRONMENT环境变量,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下
    2021-04-04
  • asp.net实现简单分页实例

    asp.net实现简单分页实例

    这篇文章主要介绍了asp.net实现简单分页的方法,实例分析了asp.net分页的基本原理与实现流程,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • ASP.NET对txt文件相关操作(读取、写入、保存)

    ASP.NET对txt文件相关操作(读取、写入、保存)

    这篇文章主要介绍了ASP.NETtxt文件相关操作,包括读取、写入、保存,需要的朋友可以参考下
    2015-09-09
  • .net中捕捉全局未处理异常的三种方式示例

    .net中捕捉全局未处理异常的三种方式示例

    这篇文章主要给大家介绍了关于.net中捕捉全局未处理异常的三种方式,分别是Page_Error处理页面级未处理异常、通过HttpModule来捕获未处理的异常以及通过Global中捕获未处理的异常,需要的朋友可以参考下
    2018-06-06
  • asp.net 文章内容分页显示的代码

    asp.net 文章内容分页显示的代码

    有种文章分页的思路是用截取文本字符数的方法来处理,这个方法当文章内容是html代码的话,分页后会引起排版问题。
    2009-01-01
  • Asp.net中判断一个session是否合法的方法

    Asp.net中判断一个session是否合法的方法

    今天突然想到一个判断session是否合法的做法,asp.net的,之前我们的做法是下面这样的形式的:
    2013-07-07
  • ASP.NET 站点地图(sitemap)简明教程

    ASP.NET 站点地图(sitemap)简明教程

    毕业设计折腾了近一个月的时间,也将近完工阶段。下个礼拜六是论文答辩时间,所以今天晚上就抽空想去弄一下站点地图。不怕大侠们笑话,我在以前还真没弄过这些。以前开发过几个项目都是系统类,也就没怎么涉及了
    2012-04-04
  • ASP.NET Session会导致的性能问题

    ASP.NET Session会导致的性能问题

    你的站点有被客户投诉很慢吗?是不是查了很多遍还是没有完全解决?是不是数据库没有发现异常,CPU也没有异常,内存占用量没有异常,GC计数没有异常,硬盘IO也没有异常,带宽没有异常,线路没有异常,没有丢包,但就是被投诉?
    2009-07-07
  • js获取Treeview选中的节点(C#选中CheckBox项)

    js获取Treeview选中的节点(C#选中CheckBox项)

    方法网上有很多,试了一下都有瑕疵,于是设置断点调试,各个属性查找有用的字段,终于找到,接下来与大家分享解决方法,需要了解的朋友可以参考下
    2012-12-12
  • ASP.NET MVC实现多选下拉框保存并显示

    ASP.NET MVC实现多选下拉框保存并显示

    这篇文章介绍了ASP.NET MVC实现多选下拉框保存并显示的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08

最新评论