我有一个由GoDaddy(Windows服务器托管)托管的网站。我希望能够直接从互联网上下载文件(例如http://ichart.finance.yahoo.com/table.csv?s=SIRI&d=11&e=27&f=2012&g=d&a=8&b=13&c=1994&ignore=.csv)到Web服务器上托管的文件夹(例如App_Data)。也许这涉及FTP?我正在使用ASP .NET 3.5和C#。
编辑:我遇到的问题是如何直接下载文件到服务器,而不是如何下载文件。由于Web服务器需要权限,因此不像将文件下载到本地计算机那么简单。此外,代码将从Web服务器本身运行。
编辑:这不是cron job。更新:因此,ASP应用程序正在GoDaddy服务器上运行(即托管我的网站)。我试图能够使用该应用程序将文件直接下载到该服务器。以下是我尝试过的代码。这段代码编译得很好,但是,在上传到服务器之后,它会给我一个运行时错误。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string URL = @"http://ichart.finance.yahoo.com/table.csv?s=SIRI&d=11&e=19&f=2012&g=d&a=8&b=13&c=1994&ignore=.csv";
System.Net.WebClient downloadSite;
downloadSite = new System.Net.WebClient();
downloadSite.DownloadFile(URL, @"ftp://<ftp user name>:<ftp password>@<ftp ip address>");
}
}
答案 0 :(得分:2)
检查WebClient.DownloadFile
方法:
答案 1 :(得分:2)
这个例子将
string uri = "http://ichart.finance.yahoo.com/table.csv?s=SIRI&d=11&e=27&f=2012&g=d&a=8&b=13&c=1994&ignore=.csv";
var httpRequest = WebRequest.Create(uri) as HttpWebRequest;
var httpResponse = httpRequest.GetResponse();
var httpStream = httpResponse.GetResponseStream();
using (var fileStream = new FileStream("D:\\test.csv" , FileMode.OpenOrCreate))
{
httpStream.CopyTo(fileStream);
}
将下载并保存到文件