WebClient.DownloadData()返回0个字节

时间:2012-04-05 18:00:52

标签: pdf

我正在尝试将PDF下载到内存流中,我将附加到MailMessage。这是我的代码:

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)返回的byte []的长度为0.

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

请查看this catalog of screen-scraping gotchas以获取有关如何解决的更多信息。

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