見出し画像

【C#】HttpClient Webページを取得する最小構成

From: Hatch
プログラムの腕を上がるためには、HttpClientを押さえておくこと。

理由は、無限に近いテストデータがあるようなものだから。
実際に僕はHttpClientを使うことによってあらゆるプログラムが書けるようになった。

※わかりやすくするために、HttpClientと表記していますが、はじめはVBScriptなどでIEを操作して株の自動取引などをしていました。今でいうところのHttpClientということで表現を統一しています。

一例を上げると、

株価を取得してデータベースに追加する。

これひとつとっても、

・Webからのデータの取得
・取得したデータの分析(正規表現あるいはHTMLParser)
・データベースの作成
・データベースの操作


こういったことまで派生して、プログラムを書けるようになる。

例えば、株価には興味がないけど音楽には興味があるなら、週間売上ランキングなら興味が湧いてくるかもしれない

入り口を自分の興味のあるものに変えることで習得が捗る。
これが、データベースのSQL文やテーブルの正規化などからだとおそらく多くの人はそこで脱落。

プログラム習得の基本は「楽しむ」こと。

多くのエンジニアを見てきたけど、好きでやっている人とやっていない人では能力に圧倒的な差が生まれる。しかも数年で大幅な・・

前置きがすごく長くなってしまったけど、、、
C#でHttpClientを利用して、Webページを取得する最小構成は以下のようになる。

using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace HatchLab
{
   class Program
   {
       // Mainメソッドから非同期のMainAsyncメソッドを呼び出す。
       static void Main(string[] args) => MainAsync().GetAwaiter().GetResult();
       static async Task MainAsync()
       {
           //---■ ここから重要
           
           // HttpClientクラスをインスタンス生成
           using (var http = new HttpClient())
           {
               // https://xxxxxx.com にアクセスし string型 で受け取る。
               var html = await http.GetStringAsync(@"https://xxxxxx.com");
           }

           //---■ ここまで重要
       }
   }
}

上の例は、「https://xxxxxx.comにアクセスしデータを取得する」だけのシンプルなもの。

「https://xxxxxx.com」の部分を自分の好きなURLに置き換えれば、とりあえずはデータが取得できるのでやってみて欲しい。

以上が、HttpClient Webページを取得する最小構成でした。

PS
前置きが長かったですが、HttpClientから攻めることはかなりおすすめなのでやってみ。

この記事が気に入ったらサポートをしてみませんか?