2013-10-30 96 views
0

我嘗試自動下載從www.addic7ed.com字幕文件,但是當我嘗試做這樣的文件:下載從Web客戶端不能正常工作的C#

WebClient t = new WebClient(); 
t.DownloadFile(@"http://www.addic7ed.com/updated/1/80504/0", 
       @"C:\Users\Marcelo\Documents\Proyectos\Subtitulos\Subs1.srt"); 

它下載從網頁的源代碼。

如果我嘗試訪問「http://www.addic7ed.com/updated/1/80504/0」,它重定向我的「選擇您的下載頁面」。

但是它是這樣的下載鏈接。我認爲該頁面會檢測我是否實際點擊了按鈕,或者我是否有鏈接。

回答

0

下載文件時,它需要參照標頭,試加

t.Headers.Add("Referer","http://www.addic7ed.com/serie/Modern%20Family/5/6/addic7ed"); 
+0

是的,就是這樣,我找到了提琴手的提名者,非常感謝你 – Marcelo

3

WebClient工作就好了。您遇到的行爲是網站的一部分。

您正在訪問的URL聽起來像是下載網站?它可能希望從前一頁中設置一些cookie或標題,以便您訪問完整文件。也許使用Fiddler來確定您的瀏覽器創建的流量並嘗試模擬它。

+0

當我點擊鏈接,就說明這一點:GET http://www.addic7ed.com/updated/1/80504/0 200 OK(text/srt),當我剛打開鏈接時,顯示如下:GET http://www.addic7ed.com/updated/1/80504/0 302找到http://addic7ed.com/serie/Modern Family/5/6/addic7ed – Marcelo

+0

正確的,現在深入到請求中,它應該顯示你到底發送了什麼頭文件。 –