为什么一到Request.GetResponse()就弹出“基础连接已经关闭: 连接被意外关闭。”错误呢。换了好多种方式,网上的代码也测试了好多,都是这问题。我看网上别人写的代码基本和我一样,难道他们的代码就能运行吗?
我也用了ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);方法,也不行。

解决方案 »

  1.   

    指定使用安全超文本传输协议 (HTTPS) 方案的新连接选择安全套接字层 (SSL) 协议ServicePointManager.SecurityProtocol=SecurityProtocol.Ssl3;  
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  2.   

    楼上的,麻烦给个详细的说明和使用方法不?而且你说的ServicePointManager.SecurityProtocol=SecurityProtocol.Ssl3; 
    在网上查不出来。
      

  3.   

    就是在代码最前面加上这句http://msdn.microsoft.com/zh-cn/vs2008/system.net.servicepointmanager.securityprotocol(VS.85).aspx
      

  4.   

    不行的,加过的。还是在request.GetResponse()时出错。我觉得应该是基础错误,不应该是提交的内容出错,如果只是的内容出错,应该返回错误的代码,现在是连接断开,应该是服务器认为这是个伪身份。
      

  5.   

    麻烦高手看下菜鸟的帖子,帮忙处理下,已经快1天了:http://topic.csdn.net/u/20090403/13/f94c86d3-d31c-4867-8845-1344655078ce.html
      

  6.   

    //这是SSL部分,网上都是这样写的,说是可以自动过SSL
    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证书的,如果存在此证书,那么应该在什么地方呢。
      

  7.   

    我也遇到类似问题,HTTPS可以获取GET参数值,无法获取POST参数值