C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でURLからファイルをダウンロードする方法(WebClientクラスの使い方)

C#でURLからファイルをダウンロードする基本

C#では、WebClientクラスを使うことで、URLから簡単にファイルをダウンロードできます。WebClientクラスはSystem.Net名前空間に含まれており、URIで識別されるローカル・イントラネット・インターネット上のあらゆるリソースとの間でデータを送受信するための共通メソッドを提供しています。

Webクライアントとは何か

Webクライアントとは、コンピュータにインストールされ、ユーザーの要求に応じてWebサーバーとやり取りするアプリケーションやWebブラウザ(Google Chrome、Internet Explorer、Opera、Firefox、Safariなど)を指します。本質的には、サーバーから処理済みのデータを受け取って利用する「消費者側」のアプリケーションです。

クライアントとサーバーの関係

クライアントとサーバーは、1つの接続を構成する2つの要素であり、それぞれ別々のマシン上で動作します。Webクライアントが情報を要求し、Webサーバー側はリモートコンピュータからの要求を受け付けて、要求された情報を返す役割を担います。

Webサーバーは、クライアントが閲覧できるように情報を保存する責任を持っており、通常はWebホストとしても機能します。Webホストはサーバーへの接続を許可することで、保存された情報の閲覧を可能にします。

WebClientクラスの仕組みと基本的な使い方

C#のWebClientクラスは、内部でWebRequestクラスを利用してリソースへのアクセスを実現しています。WebClientのインスタンスは、WebRequest.RegisterPrefixメソッドで登録された任意のWebRequest派生クラスを通じてデータにアクセスできます。

ファイルのダウンロードにはDownloadFileメソッドを使用します。基本的な書き方は以下の通りです。

WebClient client = new WebClient();
client.DownloadFile("url", "path");

サンプルコード

ここでは、「https://downloadfreeimages.jpg」から画像をダウンロードし、コンピュータのローカルディレクトリに保存する例を紹介します。

using System;
using System.Net;

namespace DemoApplication {
    public class Program {
        public static void Main() {
            string url = "https://downloadfreeimages.jpg";
            string savePath = @"D:\Demo\FreeImages.jpg";
            WebClient client = new WebClient();
            client.DownloadFile(url, savePath);
            Console.ReadLine();
        }
    }
}

実行結果

上記のコードを実行すると、指定したURLから画像がダウンロードされ、指定したパスに自動的に保存されます。

D:\Demo

補足:HttpClientという選択肢

.NET Framework 4.5以降では、非同期処理に対応したより柔軟なHttpClientクラスの使用が推奨されています。GetAsyncやGetByteArrayAsyncなどのメソッドを活用すれば、UIをブロックせずにファイルをダウンロードできるため、モダンなアプリケーション開発ではこちらも検討すると良いでしょう。

  1. PDFファイルからページを削除する方法|Acrobatとブラウザで簡単にできる手順

    PDF(Portable Document Format)は、文書を電子的に閲覧・共有するためのファイル形式です。Adobeによって初めて開発されたPDFには数多くのメリットがありますが、そのひとつが特定のページを簡単に削除できるという点です。 PDFから1ページ、あるいは複数のページを削除したいとお考えなら、この記事がきっと役立ちます。それでは早速、具体的な手順を見ていきましょう。 PDFファイルからページを削除する方法 ページを削除する理由は人それぞれです。空白ページが混ざっている、レイアウトが崩れて見栄えが悪い、不要な情報が含まれているなど、さまざまなケースが考えられます。嬉しいことに、

  2. Outlook Webからメールを保存する方法

    Outlook Webアプリは、Outlookメールサービスを利用するための優れたツールです(もう一つの選択肢はOutlook PCアプリ)。メールへのアクセスや管理をスムーズに行えるのが魅力です。Gmailとは異なり、Outlook Webアプリでは、フォルダ、カテゴリ、検索フォルダなど、多彩な方法でデータを整理・分類することができます。とはいえ、時にはOutlook Web上のメールをPCに保存しておきたい場面もあるでしょう。この記事では、その具体的な方法をご紹介します。Outlook Webからメールを保存する手順Outlook Webのメールを保存するのは、実はとてもシンプルな作業です