2014-03-06 53 views
0

我有一個應用程序,它將您登錄到一個網站,然後從該網站下載一些文件。如何從重定向頁面獲取文件的內容類型?

儘管我已經能夠下載所有類型的文件並正確保存,除非其鏈接重定向到另一個頁面。

爲前,如果在網頁的源代碼,鏈接地址寫爲: -

http://someurl.com/view.php」,那麼這個鏈接重定向和下載立即開始(當我們點擊一​​個鏈接web brwoser)。

我已經能夠下載該文件以編程方式使用HttpWebRequest
,然後設置AllowAutoRedirect = true

問題出現,同時節省,我需要下載的文件的擴展名(是否是一個Word文檔,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://someurl.com/view.php重定向到http://example.com/foo.doc,那麼ResponseUri將包含http://example.com/foo.doc

瞭解「擴展」可能不是您所期望的。例如,我看到一個像http://example.com/document.php這樣的URL返回PDF文件。我見過的網址與」 .MP3" 擴展返回圖像文件等

您可以檢查ContentType頭,這通常是響應的實際內容的更可靠的指標,但不能保證。

+0

感謝您的解決方案,我的應用程序工作完美! –