메서드를 만들었습니다. 여기서는 HttpWebRequest
을 사용하여 표시된 URL에서 데이터를 요청합니다. 브라우저에 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
응답을 닫기 전에 스트림을 읽는지 확인하십시오. 그렇다면 사용자 에이전트와 리퍼러 헤더를 보내고, 일부 사이트는 스크래퍼를 감지하도록 코드화됩니다. – bizzehdee
모두에게 감사드립니다. – shresthaal