标题 | 解决iis7.5服务器上.net 获取不到https页面的信息 |
范文 | 让我纠结了一天多的问题,给大家看下,有相同情况的可以不用浪费时间了,本人当时找了好半天都没找到什么有用的信息,项目在本地没有问题,但部署在服务器后,获取不到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; } |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。