C#を攻略しよう

c#

HTTP通信

HTTP通信でメッセージヘッダを取得するサンプルプログラムです

http

@「ファイル」→「新しいプロジェクト」→「WINDOWSアプリケーション」を選択。

Aツールボックスから上図のように「TextBox」を2つ、「Button」を配置する。

B「textBox2」のプロバティの「Multiline」を「true」

C「button1」をダブルクリックして、次のコード(黒文字部分)を入力する。

using System.Net;
using System.Net.Sockets;

<中略>

private void Form1_Load(object sender, EventArgs e)
}

     TcpClient tc = new TcpClient();
     try
     {
         string kurl = textBox1.Text.Replace("http://", "");
         string[] url =kurl.Split('/');
         tc.Connect(url[0], 80);
         url[0]="";
         if ((kurl = String.Join("/", url)) == "") kurl = "/";
         NetworkStream nstr = tc.GetStream();
         //HTTPコマンドをネットストリームに送る
         byte[] buf = Encoding.ASCII.GetBytes("HEAD "+kurl+" HTTP/1.0\r\n\r\n");
         nstr.Write(buf, 0, buf.Length);
         nstr.Flush();
         byte[] str = new byte[1024];
         nstr.Read(str, 0, str.Length);
         textBox2.Text = Encoding.ASCII.GetString(str);
         tc.Close();
     }
     catch
     {
     }

}

メソッドの上にマウスポインタをもってくると、ポップアップヒントが表示されます。またF1キーを押すと、ヘルプが立ち上がります。

主なHTTPコマンドには次のようなものがあります。

GET 指定したページの取得を要求します。
HEAD メッセージヘッダを要求します。
POST フォームに入力したデータを送る
PUT サーバーへデータをアップロードする
DELETE サーバー上のデータを削除する

主な応答メッセージには、次のようなものがあります。

200 OK 正常に取得できた
301 恒久的に移転した
302 一時的に移転した
403 Forbidden アクセス拒否
404 Not Found ファイルが見つからない

 

 

 

※当サイトは、リンクフリーです。