.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

希望对大家有帮助;

 

目录
相关文章
|
8月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
278 22
|
8月前
|
Go API 定位技术
MCP 实战:用 Go 语言开发一个查询 IP 信息的 MCP 服务器
随着 MCP 的快速普及和广泛应用,MCP 服务器也层出不穷。大多数开发者使用的 MCP 服务器开发库是官方提供的 typescript-sdk,而作为 Go 开发者,我们也可以借助优秀的第三方库去开发 MCP 服务器,例如 ThinkInAIXYZ/go-mcp。 本文将详细介绍如何在 Go 语言中使用 go-mcp 库来开发一个查询 IP 信息的 MCP 服务器。
511 0
|
UED
判断iframe链接页面 服务器状态
【10月更文挑战第6天】
208 57
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
292 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
UED
判断iframe链接页面 服务器状态
判断iframe链接页面 服务器状态
257 58
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
4930 2
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
264 4
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
925 1
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
191 3