将数据从WebResponse传递到不同的方法

时间:2014-09-21 22:10:31

标签: c# stream httpwebresponse

我试图从一个方法传递HttpWebResponse数据,该方法检查用户写的网址是否存在于另一个方法,该方法将使用StreamReader获取html源代码并稍后使用它但是即使它没有显示任何错误我没有得到准备好的列表框中写的酸性代码。还有一个按钮点击事件,我不包括这个事件,不应该对问题产生任何影响。

        protected bool ZkontrolujExistenciStranky(string WebovaStranka)
    {
        try
        {
            var pozadavek = WebRequest.Create(WebovaStranka) as HttpWebRequest;
            pozadavek.Method = "HEAD";
            using (var odezva = (HttpWebResponse)pozadavek.GetResponse())
            {
                GetData(odezva);
                return odezva.StatusCode == HttpStatusCode.OK;                   
            }

        }
        catch    
        {
            return false;
        }
    }

   protected void GetData(HttpWebResponse ziskanaOdezva)
        {
            using (Stream strm = ziskanaOdezva.GetResponseStream())
            {
                StreamReader reader = new StreamReader(strm);
                string prochazec;
                while ((prochazec = reader.ReadLine()) != null)
                {
                    listBox1.Items.Add(prochazec);
                }
            }
        }

1 个答案:

答案 0 :(得分:1)

你正在使用HEAD方法,它的重点不是返回一个体;只返回标题。如果你想要身体,请使用GET。

HTTP HEAD method

  

HEAD方法与GET相同,只是服务器不能在响应中返回消息体。响应HEAD请求的HTTP头中包含的元信息应该与响应GET请求时发送的信息相同。