スポンサーリンク

【C#】C#でhttp通信を行う方法。〜 Post通信・Get通信 〜

C#
スポンサーリンク

今回の記事はC#を用いてhttp通信を行う方法に関しての記事です。http通信に関しても触れているので初心者の方にも分かりやすいようになっていると思います。Post通信・Get通信の二つを解説していますので是非参考にしてください。

ではメインの記事に進みます。

スポンサーリンク

C#で行うhttp通信とは?

http通信とは簡単に言うと通信方法です。主にWebページを見る際に使用されている通信方法になります。もう少し詳細に言うとWebページとなるhtmlが保存されているWebサーバに自身のPCからアクセスする際に使用する通信規格になります。

その通信方法にはざっくり分けるとGet(データをもらう)通信とPost(データを送る)通信の二つがあります。

細かいことは毎回頼りにしているこちらの記事を参考にしてみてください。

今回の記事はそのGet通信とPost通信に関してC#を用いて行う方法を記述しています。

ちなみに私はMacでVisualStudioの無償版で検証を行いました。最も業務上は、Windowsを使ったのでどちらでも一応試したことになると思います。

環境構築はどたらも簡単でインストーラーからインストールするのみです。会社で契約している有償版はおそらく社内の共有フォルダにでもインストーラーとキーがあるとおもうので先輩に聞くことをお勧めします。

インストールの参考記事は無限にあるので今回は割愛します。

C#でhttp通信(Get通信)

先ほど述べたデータをもらう方の通信です。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;

namespace test
{
    class Program
    {
        // HttpClientのインスタンス
        private static HttpClient client = new HttpClient();
        static async Task Main(string[] args)
        {
            // HTMLを非同期で取得します。
            var url = "https://ja.wikipedia.org/wiki/メインページ";
            var response = client.GetAsync(url);
           
            var content = await response.Result.Content.ReadAsStringAsync();
            Console.WriteLine(content);  
        }
    }
}

こちらでGoogleの検索ペーシのhtmlを取得するようなGet通信を実装できます。ようはこのget通信をして私たちはgoogleの検索ページをブラウザで表示できていると言う仕組みです。

ちなみにブラウザでの検索は基本的にGet通信です。

では次にPost通信についてみていきます。

C#でhttp通信(Post通信)

先ほど述べたデータを送る方の通信です。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;

namespace HttpTest0414
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var parameters = new Dictionary<string, string>()
                {
                    { "<何かパラメータなど>","<パラメータの値>" },
                    { "<何かパラメータなど>","<パラメータの値>" },
                };
            var content = new FormUrlEncodedContent(parameters);
            var response = await client.PostAsync($"<Post通信先のURL>", content);
            var html_doc = await response.Content.ReadAsStringAsync();
        }
    }
}

Post通信は受け手側で何を必要としているかを知る必要もあるので、何か試したいページなどがあればそちらのページのURLで試してみてください。

私の下記の記事でPost通信を利用して、スクレイピングを行う方法に関しての記事を記載しています。

【C#】Anglesharpとhttp通信を用いてスクレイピングを行う方法

では今回の記事は以上です。他にもC#関連の記事をいくつか記載しているので気になる方は是非参考にしてみてください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

C#
スポンサーリンク
スポンサーリンク
ともぶろぐ

コメント

  1. […] 「C#でhttp通信を行う方法。〜 Get/Post通信 〜」 […]

  2. […] 「【C#】C#でhttp通信を行う方法。〜 Post通信・Get通信 〜」 […]

  3. […] 「【C#】C#でhttp通信を行う方法。〜 Post通信・Get通信 〜」 […]

タイトルとURLをコピーしました