private void bt_Begin_Click(object sender, EventArgs e)
        {
          string data=OpenReadWithHttps("http://www.baidu.com/", "123");
        }
        public string OpenReadWithHttps(string URL, string strPostdata)
        {
            //ServicePointManager.CertificatePolicy = new CertPolicy();
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
            // request.CookieContainer = new CookieContainer();
            request.Proxy = new WebProxy("10.3.18.90", 9000);
            request.Timeout = 20000;
            request.Method = "POST";
            request.Accept = "*/*";
            request.ContentType = "application/x-www-form-urlencoded";
            byte[] buffer = this.encoding.GetBytes(strPostdata);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
            this.respHtml = reader.ReadToEnd();
            //foreach (System.Net.Cookie ck in response.Cookies)
            //{
            //    this.cookie += ck.Name + "=" + ck.Value + ";";
            //}
            reader.Close();
            return respHtml;
        }
其中的request.GetRequestStream().Write(buffer, 0, buffer.Length);这里出错了,提示无法连接远程服务器,怎样解决啊?

解决方案 »

  1.   

    request.Proxy = new WebProxy("10.3.18.90", 9000);允许远程链接?
      

  2.   

    我觉得最主要的还是你采用什么发送方式
    根据你现在的看是http方式
      

  3.   

    是根据http方式发送的,提示不是无法解析远程服务器名称就是无法连接。该怎样解决呀?
      

  4.   

     public string Send(string value,bool keepAlive)
            {
                _Request1 = HttpWebRequest.Create("http://www.baidu.com") as HttpWebRequest;
                
                _Request1.Proxy = new WebProxy("10.3.18.90", 8013);
               
                _Request1.KeepAlive = true;
                _Request1.Method = "POST";
                _Request1.Timeout = 200000;
                //_Request1.SendChunked = true;
                _Request1.ContentType = "application/x-www-form-urlencoded";
                var buffer = UTF8Encoding.UTF8.GetBytes(value);
                byte[] data = encoding.GetBytes(value);
                _Request.ContentLength = data.Length;
                var stream = _Request1.GetRequestStream();
                
                stream.Write(buffer, 0, buffer.Length);
               
                var response = _Request1.GetResponse();
                var responseStream = response.GetResponseStream();
                var reader = new StreamReader(responseStream);
                stream.Close();
                reader.Close();
                return reader.ReadToEnd();
               
            }
    用这个方法也是报错
      

  5.   

      dataStream.Write(byteArray, 0, byteArray.Length);
                    dataStream.Flush();//wince下面必须加上这两句 否则:在写入请求数据前,不能检索此请求的响应。/*The response for this request cannot be retrieved until request data  has been written*/
                    dataStream.Close();
                    response = (HttpWebResponse)request.GetResponse();