2014-03-06 7 views
0

웹 사이트에 로그온 한 다음 해당 웹 사이트에서 일부 파일을 다운로드하는 응용 프로그램이 있습니다.리디렉션되는 페이지에서 파일의 내용 유형을 얻는 방법은 무엇입니까?

비록 링크가 다른 페이지로 리디렉션되는 것을 제외하고 모든 유형의 파일을 다운로드하고 올바르게 저장할 수있었습니다. 전 대한

은 웹 페이지의 소스 코드에서 링크 주소는 다음과 같이 작성된 경우 : -

"http://someurl.com/view.php",이 링크는 리디렉션 및 우리가에있는 링크를 클릭하면 다운로드가 즉시 (시작 웹 브루 사).

이 파일을 프로그래밍 방식으로 HttpWebRequest
을 사용하여 다운로드 한 다음 AllowAutoRedirect = true을 설정하면이 파일을 프로그래밍 방식으로 다운로드 할 수 있습니다.

문제는 저장하는 동안, 나는

가 어떻게 그것을 확인해야합니다 (이 워드 문서, PDF 파일 또는 다른 파일을 여부를) 다운로드 한 파일의 확장자를 가질 필요가 발생한다?

내가 사용하고있는 코드의 일부는 다음과 같습니다 - 당신이 리디렉션 응답을받을 때

 HttpWebRequest request = WebRequest.Create(UriObj) as HttpWebRequest; 
    request.Proxy = null; 
    request.CookieContainer = CC; 
    request.AllowAutoRedirect = true ; 
    request.ContentType = "application/x-www-form-urlencoded"; 

답변

2

ResponseUri 속성은 당신에게 실제로 응답 한 자원의 URI 제공 할 것입니다.

따라서 http://example.com/foo.doc으로 리디렉션 된 의 경우 ResponseUrihttp://example.com/foo.doc을 포함합니다.

"확장 기능"이 예상과 다를 수도 있음을 이해하십시오. 예를 들어, http://example.com/document.php과 같은 URL이 PDF 파일을 반환하는 것을 보았습니다. ".mp3"확장자가있는 이미지 파일을 반환하는 URL을 보았습니다.

ContentType 헤더를 확인할 수 있습니다.이 헤더는 일반적으로 응답의 실제 내용을보다 확실하게 나타내지 만 보증하지는 않습니다.

+0

솔루션 주셔서 감사합니다, 내 응용 프로그램이 완벽하게 작동합니다! –