我创建了GetCourses()
方法,其中我使用HttpWebRequest
从所示的Url请求数据。如果我在浏览器中复制粘贴网址,浏览器将显示xml数据。我也用小提琴手做了一些要求。在提琴手它说,数据编码,我必须解码它。所以,我点击解码,我可以看到XML。但是,使用下面的代码我回到Content-Length = -1。httpwebrequest getresponse()不返回任何内容,而提琴手显示内容
public static void GetCourses()
{
try
{
HttpWebRequest requestForItCourse =
(HttpWebRequest)WebRequest.Create("http://www.mnsu.edu/schedule/direct.php?action=courses&term=20135&subject=it");
requestForItCourse.AutomaticDecompression = DecompressionMethods.GZip|DecompressionMethods.Deflate;
HttpWebResponse responseFromMnsuDirectPhp =
(HttpWebResponse)requestForItCourse.GetResponse();
Stream dataStream = responseFromMnsuDirectPhp.GetResponseStream();
responseFromMnsuDirectPhp.Close();
//Parse and insert courses into the database
}
catch (Exception ex)
{
}
}
您确定关闭响应,然后阅读流?这没有任何意义。当你关闭你的响应时,你也会使底层数据不可用。 – user1908061 2013-03-07 20:12:21
确保您在关闭响应之前阅读该流,如果是的话,请确保您发送了用户代理和引用者标头,某些网站会被编码以检测刮板 – bizzehdee 2013-03-07 20:14:08
谢谢大家 – shresthaal 2013-03-07 20:25:57