2011-11-01 2 views
2

System.Net.WebClient 클래스를 사용하여 전체 웹 페이지를 다운로드하고 있습니다. 그러나 우리는 단지 페이지의 반 이하를 원합니다. 우리가 네트워크 대역폭과 공간을 절약 할 수 있도록 .net 라이브러리를 사용하여 페이지의 일부분, 예를 들어 1/3, 1/2 등을 다운로드하는 방법이 있습니까? 그렇다면 아이디어를 던져주세요. 감사합니다..net을 사용하여 부분 웹 페이지를 다운로드하는 방법

+0

보려는 웹 사이트입니까? – Aliostad

+0

저희 웹 사이트가 아닙니다 – mohang

답변

2

GET 또는 POST 요청에 "Accept-Ranges header"를 제공해야합니다. 이는 HttpWebRequest의 AddRange 메서드를 사용하여 수행 할 수 있습니다.

HttpWebRequest myHttpWebRequest = 
    (HttpWebRequest)WebRequest.Create("http://www.foo.com"); 
myHttpWebRequest.AddRange(0,100); 

그러면 첫 번째 100 바이트가 생성됩니다. 그러나 서버는이를 지원해야합니다.

+0

우리는 이것을 시도 할 것입니다 – mohang

+0

모든 서버가 "Accept-Ranges"헤더를 지원하지는 않습니다. 서버가 이것을 지원하지 않으면 전체 페이지를 보낼 수 있으며'400 Bad Request'를 반환 할 수 있습니다. –

+1

시도한 서버에서 작동하지 않습니다. 도와 주셔서 감사합니다. – mohang

0

웹 응용 프로그램이 반환하려는 결과에 맞게 응답 할 수있는 방법을 지원하지 않는 경우 정렬 대답은 아닙니다.

이의 형태를 취할 수있는

  • 쿼리 문자열 매개 변수

이 쿼리 문자열 매개 변수가 될 것입니다 추가하는 가장 간단한 방법과시기가 쓰는 감지 헤더 필드 값 응답 객체에 필요한 HTML 웹 응용 프로그램을 변경할 수 없으면 반환되는 페이지의 양을 제어 할 수 없습니다.

HTTP에 대한 질문과 대답은이 질문에 대한 답변이므로이 질문에 대한 답변을 읽어보십시오. 특히 Header 정의가 도움이됩니다.

관련 문제