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

简介: 原文:.net 获取https页面的信息 在iis7.5服务器上不管用让我纠结了一天多的问题,给大家看下,有相同情况的可以不用浪费时间了,本人当时找了好半天都没找到什么有用的信息,项目在本地没有问题,但部署在服务器后,获取不到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

希望对大家有帮助;

 

目录
相关文章
|
2月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
41 8
|
2月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
44 5
|
2月前
|
开发框架 缓存 .NET
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
150 0
|
20天前
|
UED
判断iframe链接页面 服务器状态
判断iframe链接页面 服务器状态
112 58
|
1月前
|
开发框架 JavaScript 前端开发
|
2月前
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
|
21天前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
7天前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
48 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
8天前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
25 4