2010-06-11 159 views
0

我嘗試從https站點下載文件,每次將文件保存到我的機器時,它只有1KB。該文件應該是1MB。我正在使用Webclient。使用webclient下載文件

string strFile = @"c:\myfile.txt"; 
WebClient wc = new WebClient(); 
wc.Credentials = new System.Net.NetworkCredential("userid", "pw"); 
wc.DownloadFile("https://www.mysite.come/myfile.txt", strFile); 

我想念什麼?

+1

你看過文中的內容嗎?它是文件的第一個1K還是別的? – 2010-06-11 15:48:51

+2

woa,6個問題,沒有接受...你應該做點什麼 – ShinTakezou 2010-06-11 15:50:32

回答

2

AFAIK WebClient在默認情況下不會放置User-Agent字符串,這可能會惹惱服務器;嘗試

wc.Headers.Add("User-Agent", "XXX"); 

在那裏你可以從here拿起XXX。

+0

請問XXX是什麼?它是https地址嗎? – user79127 2010-06-11 15:55:09

+0

我修改了代碼,它似乎給我的信息文件,而不是我想要的文件。 string strFile = @「c:\ myfile.txt」; WebClient wc = new WebClient(); wc.Headers.Add(「User-Agent」,「https://www.mysite.come/」); wc.Credentials = new System.Net.NetworkCredential(「userid」,「pw」); wc.DownloadFile(「https://www.mysite.come/myfile.txt」,strFile); – user79127 2010-06-11 16:01:17

+0

否XXX是用戶代理字符串,而不是地址:它是瀏覽器如何向http服務器標識自身的方式;腳本可能會根據用戶代理決定「阻止」請求。用戶代理字符串看起來像「Opera/9.80(X11; Linux i686; U; en-GB)Presto/2.2.15 Version/10.10」或其他。如果它匹配真正的瀏覽器 – ShinTakezou 2010-06-11 21:24:12

1

這是你的權限隊友,我有同樣的問題,但似乎沒有人想要幫助100%的方式......通過權限我的意思是你的操作系統是不允許該文件被下載到目錄這就是爲什麼它只有1KB。

,我與它順帶某處得到,[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]

我會密切關注這個線程,因爲是必須添加一個標籤,那我已經尋找,但沒有發現作爲然而,我會讓你保持最新。

+0

+1,那就更好了 - 有人應該指出將文件保存到根目錄是簡單的愚蠢 – Paul 2013-02-07 15:42:46