Home > C# > 目的別 > Web関連 > WebClient

WebClientクラス

新規作成日 2017-10-25
最終更新日

通常、Webサイトは、htmlとcssで表現されています。cssは、文字の色や大きさなどのスタイル情報を表現するために使用されています。 そのため、Webサイトの情報は、htmlコードの中にあります。そして、このhtmlコードはテキストファイルなので、 このテキストファイルを適切に扱うことができれば、自分で作成するC#のアプリケーションに、インターネット上の情報を取り込むことができます。

C#プログラムで、WebサーバーとのHttp通信を行う方法は、いくつか存在します。 WebClientクラスを使用して、Webサーバー上のWebページのソースコードを取得したり、Webサーバーが公開しているAPIを呼び出すことが可能になります。

WebClientクラスを使用して、インターネット上のリソースを取得する

C#で、インターネットを扱う際には、WebClientクラスを利用します。HtmlClientクラスと合わせて、インターネットに関連する操作を行う際に使用します。 インターネットの情報を扱う関係上、C#や利用するクラスの情報だけでなく、Webサーバーに関する情報が必要になります。

C#で、プログラミングに関する情報を取得するためには、まずは、msdnで、調べたいクラスの説明を読むことです。

WebClient クラス

WebClient クラスは、.NET Framework 2.0以降で利用できます。

しかし、日本語訳は、機械翻訳なので、読みづらい場合があります。英語での読解に支障がなければ、英語の情報を利用すればいいのですが、 そうでない場合、同じ説明を何度も読むことになるので、自分で和訳してそれを利用するのも1つの選択です。 確認した時点では、msdnのWebClientクラスの説明は、翻訳が読みにくいので、自分で翻訳し直しました。

翻訳した、msdnのWebClientクラスの説明

msdnや書籍のサンプルコードやインターネット上で紹介されているコードを参考に、動作を検証するためのサンプルコードの雛形を作成します。

DownloadStringメソッドを使用して、インターネットからリソースを取得する

WebClient クラスのDownload***メソッドは、インターネットからファイルや画像などのリソースを読み込み、すべてのデータをバイト配列に格納するまでの処理をメソッドが行ってくくれます。 そのため、短いコードで、インターネット上の情報を取得することができます。

C#でインターネットの情報を取得してい場合のほとんどは、Webページから必要な情報を入手し、それをアプリケーションの中で利用することです。 Webページから必要な情報を集める作業をウェブスクレイピング、あるいは、単にスクレイピングと呼びます。そのためには、Webページからページのコードを取得する必要があります。

WebClientクラスのOpenReadメソッドを使用してインターネットから情報を取得する

WebClientクラスのOpenReadメソッドを使用すると、URLで指定したリソースをストリームとして取得することができます。

クエリ文字列を渡して、Webサイトの情報を取得する

Webサイトの中には、検索サイトのように、ページの中にテキストボックを配置し、ページの閲覧者がテキストボックスにテキストを入力し、ボタンをクリックすることで特定の情報を提供するページを表示する形式のページがあります。

C#では、このクエリ文字列をWebClientクラスのQueryStringプロパティに格納することで、使って、Webサイトのページを指定し、その情報をダウンロードすることができます。

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」