情報応用演習Ⅰ(2024)

【T3a】HTTPのやり取りを確かめる(5/5)

プロジェクトタイプASP.NET Core (空)
プロジェクト名T3a
ソリューション名PIT3
ターゲットフレームワーク.NET 8.0(長期的なサポート)
最上位レベルのステートメントを使用しない使用する(チェックオフ)
注意
  • 本ページの作業内容は 前のページまでの続き になっていることに注意せよ.
    • 先に前のページまでをすべて読み,指示されている作業を済ませてから本ページを読むこと.
    • プロジェクトの作成作業については準備作業を参照せよ.

3a-5. Tera Term を使ってHTTPのやり取りを手打ちで行う

ネットワークを通じてテキストベースの通信を行う方法の一つにTelnet(てるねっと)というプロトコルがある. 今回はこのTelnetのクライアントソフトウェアであるTera Term(てら・たーむ)を用いて, ウェブサーバーに接続し,手打ちで直接HTTPリクエストを実行することを試みる.

それでは Tera Term を起動し,準備作業で作成した設定ファイル RAW_HTTP.ini を読み込もう.このためには 起動時の「Tera Term 新しい接続」ウィンドウで「キャンセル」ボタンをクリックし(_),「設定」→「設定の読み込み」をクリックし(_), セットアップ時に作成したRAW_HTTP.iniファイルを選択する(_).

設定ファイルの読み込み

【★】 前節で作成したプロジェクトが実行中であることを確認しよう.既に実行中であればそのまま以降の作業を行うことができる. 「ファイル」→「新しい接続」で,_のように入力する(__). とくに「TCPポート#」はプロジェクトごとに異なるので注意しよう.T3aプロジェクトを実行した際に開くウェブブラウザの アドレスバーに表示されているURLを見ると,そのプロジェクトが何番ポートで待ち受けているかが分かるので事前に調べておこう

「Tera Term 新しい接続」の設定値
項目設定値注意点
ホストlocalhost-
サービス「Telnet」を選択「サービス」の項目の選択を変更すると「TCPポート#」の
入力値も変わってしまうので,「TCPポート#」の入力よりも
前に選択すること.
TCPポート#ポート番号プロジェクトごとにポート番号は異なるので事前に
ウェブブラウザのアドレスバーで確認しておくこと.
接続の開始

ここで「OK」ボタンをクリックすると直ちに接続が開始される. 特に表示などは出ないがウィンドウのタイトルバーの文言が「Tera Term - [未接続] VT」から「localhost - Tera Term VT」に変化する(_). ここまで準備ができたら_のテキストメッセージを打ち込もう. 記号種や大文字小文字,空白や改行の個数なども厳密に同じである必要がある. HTTPのメッセージを理解するための演習なので内容をよく見てメッセージがどのような構造になっているか確認しながら打ち込むこと. タイピングに自信がない場合はあらかじめ適当なテキストエディタで_を入力してこれをコピーし, Tera Term のウィンドウ上で右クリックして貼り付けてもよい.

実行するGETリクエスト

正しく入力できた場合,_のように表示されるはずである. 失敗した場合(「HTTP/1.1 200 OK」以外の応答が返ってきた場合など)は,以下の手順でやり直そう.

  1. Visual Studio 側で例外が発生している場合:
    • 誤った入力内容によって例外が発生してプログラムが中断することがある.
    • この場合は,デバッグを終了してプログラムを起動しなおす.
  2. タイトルバーが「localhost - Tera Term VT」のまま(つまりまだ接続中)である場合:
    • 「ファイル」→「接続断」をクリックする.
    • 「切断しますか?」というダイアログで「はい」をクリックする.
    • タイトルバーが「Tera Term - [未接続] VT」となっていることを確認する.
  3. 「編集」→「バッファのクリア」をクリックする.
    • 画面の内容がすべて消去される.
  4. 「ファイル」→「新しい接続」をクリックする.
    • もう一度,【★】からの手順をやり直す.
手打ちリクエストの実行結果1

これが前節で説明した,HTTPの生のリクエストとレスポンスである.確認のためレスポンスのボディ部分を保存してウェブブラウザで表示してみよう. 「編集」→「全て選択」をクリックすると実行結果全体がコピーされる(_)ので(選択した後にコピーのための操作などは不要である点に注意せよ.「全て選択」をクリックするだけで既にコピー済みになる.),適当なテキストエディタに貼り付けてHTML部分(_♠)以外を削除して(_), response1.htmlという名前でファイルに保存して開いてみよう(_). これはリスト3a-2-1で作成したHTMLファイルそのものであり,図3a-2-1と全く同じに表示されたはずである.

response1.htmlの表示結果
提出時の注意

今回の演習で作成する三個のHTMLファイル,response1~3.html は 作業成果物の一部として提出する必要がある . 提出時は今回作成したソリューション PIT3 のソリューションフォルダ(PIT3.slnがあるのと同じフォルダ; _ )に これらのファイルを置いてから,提出用のZIPファイルを作成すること.

response1~3.htmlの置き場所

ここまでを確認できたら1つ目のチュートリアルは完了である. 次に進む前に,Visual Studio のデバッグ実行を終了しておこう.また混乱を防ぐため Visual Studio のエディタをすべて閉じておこう.Visual Studio のいずれかのエディタのタブを右クリックして 「すべててのドキュメントを閉じる」をクリックすれば,エディタをすべて閉じることができる

Last updated on 2024-05-10
Published on 2024-05-10

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.