2012-04-05 61 views
0

我想下载PDF到一个内存流,我将附加到一个MailMessage。这是我的代码:WebClient.DownloadData()返回0字节

string pdfUrl = "http://dev.domain.com/pdf+files/sample.pdf"; 
WebClient client = null; 
MemoryStream stream; 
try 
{ 
    client = new WebClient(); 
    stream = new MemoryStream(client.DownloadData(pdfUrl)); 
    attachments.Add(new Attachment(stream, "Sample.pdf"); 
} 
finally 
{ 
    client.Dispose(); 
} 

字节[]从client.DownloadData(pdfUrl)返回具有0

任何想法的长度?

回答

0

下载可以通过Web浏览器工作,但以编程方式尝试失败的原因有很多种。这些原因包括:缺少Cookie(包括身份验证令牌),不匹配的方法(POST与GET),缺少的表单字段,不同的HTTP标头,重定向问题等。

有关更多信息,请参阅this catalog of screen-scraping gotchas解决。

如果我不得不猜测你的情况出了什么问题,我会猜想缺少的cookie或HTTP标头。