为什么一到Request.GetResponse()就弹出“基础连接已经关闭: 连接被意外关闭。”错误呢。换了好多种方式,网上的代码也测试了好多,都是这问题。我看网上别人写的代码基本和我一样,难道他们的代码就能运行吗?
我也用了ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);方法,也不行。
我也用了ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);方法,也不行。
解决方案 »
- 请教如何让Winform程序在任务栏恢复的时候带上动画效果???
- c# 中WebRequest和WebResponse如何处理多个域
- 怎么样在datagridview数据绑定后增加固定行?
- 使用.net 2年多,技术上遇到瓶颈,请教高手们如何度过这一难关,使自己向更高水平发展
- 请教如何访问调用doPostBack()函数
- 怎么用HttpWebRequest以get方式提交呢?
- dcomcnfg的问题,急的很,请大家帮忙
- 求教:webform上的DataGrid的DataKeys的问题
- 求助,大家帮个忙!感激不敬!
- 帮忙看看这种曲线图用什么方式实现比价好、比较快?
- 正则表达式解析网页的问题
- 如何计算当前日期是本月的第几周?
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
在网上查不出来。
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;//开始获取Cookie
CookieContainer cookieContainer = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://hi.baidu.com/");
request.Method = "GET";
request.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
request.KeepAlive = true;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
cookieContainer = request.CookieContainer;
StreamReader readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
html = readStream.ReadToEnd();
cookie = response.Headers.Get("Set-Cookie");
readStream.Close();//提交用户名和密码
url = "https://passport.baidu.com/?login";
server = "http://hi.baidu.com/";
cookieContainer = request.CookieContainer;
cookieContainer.SetCookies(new Uri(server), cookie);
postdata = "tpl=sp&tpl_reg=sp&u=http%3A%2F%2Fhi.baidu.com%2F&username=XXXX&password=XXXXX&Submit=+%B5%C7%C2%BC+";HttpWebRequest httpWebRequest;
HttpWebResponse webResponse;
Stream getStream;
byte[] byteRequest = Encoding.ASCII.GetBytes(postdata);
httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
httpWebRequest.ReadWriteTimeout = 10 * 1000;httpWebRequest.CookieContainer = cookieContainer;
httpWebRequest.Credentials = CredentialCache.DefaultCredentials;
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.Accept =
"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*";
httpWebRequest.Referer = server;
httpWebRequest.UserAgent =
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
httpWebRequest.Method = "POST";
httpWebRequest.ContentLength = byteRequest.Length;
Stream stream;
stream = httpWebRequest.GetRequestStream();
stream.Write(byteRequest, 0, byteRequest.Length);
stream.Close();
webResponse = (HttpWebResponse)httpWebRequest.GetResponse();//这部分是错误,提示“基础连接已经关闭: 连接被意外关闭"
header = webResponse.Headers.ToString();
getStream = webResponse.GetResponseStream();StreamReader readStream = new StreamReader(getStream, Encoding.GetEncoding(webResponse.CharacterSet));
html = readStream.ReadToEnd();
getStream.Close();*************************************************************************************
感觉应该是不是SSL证书没有加载的问题,可是用IE打开就能登录,IE是怎么获取SSL证书的,如果存在此证书,那么应该在什么地方呢。