该站点提供的链接为http://www.example.com/download.php?id=53979。我知道这是一个 pdf 文件,我想通过 C# 程序下载它。这可能吗?如果可以,怎么做?
问问题
3070 次
1 回答
4
为了下载文件,您只需使用上面提到的问题中WebClient
的对象:
using (var client = new WebClient())
client.DownloadFile("http://www.datasheet4u.com/download.php?id=53979", "datasheet.pdf");
使您的情况略有不同的原因与用 PHP 或类似的东西编写的服务器无关。您提供的链接(http://www.datasheet4u.com/datasheet/L/M/7/LM741_NationalSemiconductor.pdf.html)似乎Referer
在提供文件时正在检查标题。这可能是他们试图阻止您尝试做的事情,但实际上并没有阻止它。
您需要做的就是Referer
在请求中添加一个标头。像这样的东西:
using (var client = new WebClient())
{
client.Headers.Add("Referer","http://www.datasheet4u.com/datasheet/L/M/7/LM741_NationalSemiconductor.pdf.html");
client.DownloadFile("http://www.datasheet4u.com/download.php?id=53979", "datasheet.pdf");
}
下载文件的方法还是一样的。服务器只要求您在请求中发送一条额外的信息。
于 2013-09-29T11:46:18.060 回答