2010-06-11 123 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

相关问题