2010-12-01 127 views
1

我有此代码成功地发出HTTP请求:问题捕获HTTP响应

   //Successful request 
       var requestInBytes = encoding.GetBytes(urlWithParameters.ToString()); 

       HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlWithParameters.ToString()); 
       req.Method = "POST"; 
       req.ContentLength = requestInBytes.Length; 
       req.ContentType = "application/x-www-form-urlencoded"; 

       Stream newStream = req.GetRequestStream(); 

       // Send the data. 
       newStream.Write(requestInBytes, 0, requestInBytes.Length); 
       newStream.Close(); 

然而,我无法捕捉响应。现在,我正在尝试这个:

  //No response? 
      System.IO.StreamReader st = new StreamReader(((HttpWebResponse)req.GetResponse()).GetResponseStream()); 
      var response = st.ReadLine(); 

但是,这是回来一个空白的回应?

+2

你只读取响应......这似乎是空白的第一道防线。 – 2010-12-01 20:56:41

回答

3

尝试:

HTTPWebResponse response = req.GetResponse(); 

然后,您可以检查响应的各种属性。

OR

尝试:

var response= req.ReadToEnd();