我創建了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