2016-11-17 16 views
-2

私の主題についてこのウェブサイトには多くの既存の投稿がありますが、すでに一部を読んでいますが、一般的な質問には答えられません。ウェブサイトからファイルを毎日ダウンロードしてください。

非常にシンプル:私は、私はこの制約をウェブサイトからファイルをダウンロードできるようになります解決したい:ファイルをダウンロードする前に

  • を、私は2つに開始日と終了日を指定する必要がありますこのURLは常に変更されるため、URLを直接使用することはできません。

  • このファイルは、1日に4回、人間の介入なしでダウンロードする必要があります。

だから最高のscrpitのようなものを持っていることと、例えば、このスクリプトは、特定の時点で実行されているWindowsのスケジューラを使用して、ファイルをダウンロードします。

私の質問です:これにはC#を使った最高のテクノは何ですか? 私はC#で多くの経験を持っていません...私がSelenium Frameworkを読んだことは、WebDrivenにとっては良いことです。それを使用してダウンロードを自動化できますか? 私が読んだことから、ユーザーはプロジェクトを実行する必要がありますが、スクリプトのように自動化することができます...そうですか?

それを行う別の方法を知っていますか?

答えて

0

私は自分の作業機械にC#を持っていないので、これをテストすることはできませんが、私はこれがこのようなものになると思います。次のように実装

WebClient client = new WebClient(); 
DateTime yesterday = DateTime.Today.AddDays(-1); 
DateTime tomorrow = DateTime.Today.AddDays(1); 
Uri ur = new Uri(http://remotehost.do/images/" + yesterday + "to" + tomorrow + "/excel.xls"); 
client.Credentials = new NetworkCredential("username", "password"); 
client.DownloadProgressChanged += WebClientDownloadProgressChanged; 
client.DownloadDataCompleted += WebClientDownloadCompleted; 
client.DownloadFileAsync(ur, @"C:\path\excel.xls"); 

とコールバックの機能:ここで

は、これらのオプションをカバー一例である

void WebClientDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) 
{ 
    Console.WriteLine("Download status: {0}%.", e.ProgressPercentage); 
} 

void WebClientDownloadCompleted(object sender, DownloadDataCompletedEventArgs e) 
{ 
    Console.WriteLine("Download finished!"); 
} 
関連する問題