.net 获取https页面的信息 在iis7.5服务器上不管用

原文:.net 获取https页面的信息 在iis7.5服务器上不管用

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

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

GET的方法:

 1  /// <summary>
 2         /// 获取URL访问的HTML内容 获取https 页面的
 3         /// </summary>
 4         /// <param name="Url">URL地址</param>
 5         /// <returns>HTML内容</returns>
 6         public static string GetWebContent(string Url, CookieContainer cookieContainer)
 7         {
 8             string strResult = "";
 9             try
10             {
11                 ServicePointManager.Expect100Continue = true;
12                 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
13                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
14                 request.CookieContainer = cookieContainer;
15                 request.Timeout = 30000;
16                 request.Headers.Set("Pragma", "no-cache");
17
18                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
19                 Stream streamReceive = response.GetResponseStream();
20
21                 Encoding encoding = Encoding.GetEncoding("utf-8");
22                 StreamReader streamReader = new StreamReader(streamReceive, encoding);
23                 strResult = streamReader.ReadToEnd();
24             }
25             catch
26             {
27
28             }
29             return strResult;
30         }

View Code

POST的方法:

 1 /// <summary>
 2         /// post提交数据到https
 3         /// </summary>
 4         /// <param name="posturl"></param>
 5         /// <param name="postdata"></param>
 6         /// <param name="header"></param>
 7         /// <param name="cookieContainer"></param>
 8         /// <returns></returns>
 9         public static string SetPostHtml(string posturl, string postdata, HttpHeader header, CookieContainer cookieContainer)
10         {
11             string restr = "";
12             ServicePointManager.Expect100Continue = true;
13             ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
14             HttpWebRequest request = null;
15             HttpWebResponse response = null;
16             request = (HttpWebRequest)WebRequest.Create(posturl);
17             request.CookieContainer = cookieContainer;
18             request.Method = header.method;
19             request.Referer = header.Referer;
20             request.ContentType = header.contentType;
21             byte[] postdatabyte = Encoding.UTF8.GetBytes(postdata);
22             request.ContentLength = postdatabyte.Length;
23             request.AllowAutoRedirect = false;
24             request.KeepAlive = true;
25             //提交请求
26             Stream stream;
27             stream = request.GetRequestStream();
28             stream.Write(postdatabyte, 0, postdatabyte.Length);
29             stream.Close();
30             //接收响应
31             response = (HttpWebResponse)request.GetResponse();
32             using (StreamReader reader = new StreamReader(response.GetResponseStream()))
33             {
34                 restr = reader.ReadToEnd().ToString();
35             }
36             return restr;
37         }

View Code

希望对大家有帮助;

 

时间: 2024-10-01 19:40:42

.net 获取https页面的信息 在iis7.5服务器上不管用的相关文章

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

我的获取页面需要cookie,不需要的可以去掉: GET的方法: 复制代码 代码如下: /// <summary>        /// 获取URL访问的HTML内容 获取https 页面的        /// </summary>        /// <param name="Url">URL地址</param>        /// <returns>HTML内容</returns>        publ

怎么在非IE浏览器实现这个功能?想在客户端获取证书内的信息,用于与服务器进行数据交互。

问题描述 怎么在非IE浏览器实现这个功能?想在客户端获取证书内的信息,用于与服务器进行数据交互. 怎么在非IE浏览器实现这个功能?想在客户端获取证书内的信息,用于与服务器进行数据交互.想利用JAVASCRIPT之类的代码,实现这个证书弹窗.有点类似于IE的ACTIVEXOBJECT.

打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 &amp;lt;serviceDebug&amp;gt; 配置行为)以便将异常信息发送回

在调试wcf程序的时候,有时会遇到下面的错误: System.ServiceModel.FaultException: 由于内部错误,服务器无法处理该请求.有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪

nutch-如何实现从购书网址抓取页面、再获取里面的图书信息,实现这个功能有什么比较好用的工具或者软件吗?

问题描述 如何实现从购书网址抓取页面.再获取里面的图书信息,实现这个功能有什么比较好用的工具或者软件吗? 我期望能实现一个互联网信息收集的功能,如从购书网址抓取页面.再获取里面的图书信息,实现这个功能有什么比较好用的工具或者软件吗? 解决方案 //try python //import scrapy module //http://scrapy.org //import re module //good luck 解决方案二: 任何一种编程语言都很好用.当然你什么都不会,可以用诸如按键助手.火车

js如何准确获取当前页面url网址信息_javascript技巧

在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1 1.window.location.href(设置或获取整个 URL 为字符串) var test = window.location.href; alert(test); 返回:http://i.cnblogs.com/EditPosts.as

tomcat ssl 数字证书-配置tomcat的ssl双向配置https页面打不开

问题描述 配置tomcat的ssl双向配置https页面打不开 我用jdk的keytool工具生成一个密钥库tomcat.keystore文件,然后把根证书导入到密钥库,让其信任,然后配置tomcat的server.xml文件 <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads=&q

jquery-jQuery如何获取HTML页面里的一些文本?

问题描述 jQuery如何获取HTML页面里的一些文本? 如题,jQuery如何获取HTML页面里的一些文本,比如选择"你好",然后将这些"你好"返回以便进行进一步处理 解决方案 var val = $("#id").text(); alert(val); 你好解决方案二: #("#id") #(".class") #(tab) 最好下個jQuery API 裏面都有寫的很清楚的 解决方案三: <di

https页面与Http页面自动切换-SSL解决方案[转]

出处:http://www.cnblogs.com/ywqu 一.背景资料 二.解决方案 1.原理 2.效果预览 三.源码分析 四.使用方式 1.添加程序集到Bin文件夹 2.配置Web.Config 五.总结     一.背景资料 安全套接层协议(SSL,Security Socket Layer)基于WEB应用的安全协议,它包括:服务器认证.客户认证(可选).SSL链路上的数据完整性和SSL链路上的数据保密性.SSL主要使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它

php curl 获取https请求的2种方法

  php curl 获取https请求的2种方法         这篇文章主要介绍了php curl 获取https请求的2种方法,本文给出设定为不验证证书和host.设定一个正确的证书二种常用做法的代码实例,需要的朋友可以参考下 今天一个同事反映,使用curl发起https请求的时候报错:"SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_