Curl® IDE により、Curl® 言語アプレットが生成する http トラフィックを監視するメカニズムが提供されます。Http 監視はアプレットによって行われた http API 呼び出しと、その呼び出しの結果についての情報を提供します。Http 監視はネットワーク上の実際のトラフィックを監視するものではありません。アプレットに http 要求への正常な正しいレスポンスがなされた場合、それが web サーバーに対しての要求ではなく、ローカル マシンのキャッシュによって処理された要求の場合でも、Http 監視はこれを報告します。
この機能は Curl Pro/IDE でのみ利用できます。「
Curl 及び Curl Pro 製品」をご覧ください。Curl の http 監視は、IDE ユーザー インターフェイスを通じて、または監視 API からの機能をソース コードに組み込むことによって使用できます。
http 監視の開始と停止は、アプレットのインスペクタのコンテキスト メニューから行えます。ブラウザ ウィンドウで実行中のアプレットをコントロール右クリックしてこのメニューにアクセスし、[Http 監視の開始/停止] を選択します。監視を開始すると、IDE が空の一時データ ファイルに Http 監視ウィンドウを自動的に開きます。アプレットが http アクションを実行すると、モニタは各パケットのデータをこのファイルに格納し、監視ウィンドウに情報を表示します。
この一時ファイルは、後で使用できるように、Http 監視の [ファイル] メニューにある [保存] コマンドを使用して保存できます。また、保存したファイルは、[ファイル] メニューから開くことができます。
Http 監視ウィンドウには 2 つのペインがあります。右側のペインは、各 http パケットに関する情報を以下の列に表示するレコード グリッド表示です。
- 時刻 パケットが送信された時刻。
- ID 複数のパケットを生成した単一の要求に関連付ける整数で、1 から始まります。これらのパケットは順番が狂うことがあります。
- 操作 パケットを生成した http 操作で、GET、HEAD、POST、Response、Read、または Close のいずれかです。
- URL パケットの URL。
既定では、グリッドは時刻順に並べられます。
右ペインには、グリッド内の現在選択されているパッケージの内容が表示されます。メニューを使用して、データをテキスト、バイナリ、またはログ ファイルで使用されている実際のフォーマットのうちどれで表示するかを選択できます。
http コードがバイト ストリームを直接ラップするテキスト ストリームを使用したかどうかによって、
監視ウィンドウはテキストまたはバイナリのどちらかを自動的に選びます。
バイト ストリームを直接ラップするテキストストリームは、通常はテキスト読み取り操作時に使用されます。
Http 監視ウィンドウには以下のメニューがあります。
- 開く 監視データ ファイルを開きます。このようなファイルの作成は、Http 監視でデータ セットに対して [名前を付けて保存] を実行するか、監視 API を使用して行えます。Http 監視 API を参照してください。
- 閉じる 現在開いているファイルを閉じます。
- ファイルの保存 現在開いているデータ セットを、[開く] を使って開ける監視データ ファイルとして保存します。
- パケットの保存 同じ ID を持つすべてのRead(読み取り) パケットのデータ パケットを現行レコードとして組み合わせて、選択されたファイルに書き込みます。
- 終了 Http 監視を閉じます。
[フォーマット] メニューでは、[パケットの内容] ペインにパケット データを表示するために使用されるフォーマットを選択できます。
- バイナリ 現在のデータを 16 進数字で表示します。
- テキスト [閉じる] メッセージに指定されたエンコードを使用して、現在のデータをテキストとして表示します。エンコードが指定されていない場合は、win-latin-1 を使用します。
- 混合 現在のデータを、ログ ファイル内と同じに表示します。
- 要求データの組み合わせ 現行レコードが読み取りパケットの場合に、同じ ID を持つすべての読み取りパケットを組み合わせて表示します。
- 新規パケットの自動スクロール これを選択すると、モニタが新しいパケットを受信するにつれて、グリッドが末尾の方向にスクロールしていきます。このオプションは、監視を開始するか、ファイルを読み込むと選択されます。また、レコードを選択してスクロール バーを移動すると、自動的にオフになります。
要約: | - ソース コードに関数呼び出しを追加することで、プロファイリング データを収集できます。
- データは指定されたファイルに保存されます。
|
監視 API の呼び出しをコードに追加することで、アプレットによって生成された http トラフィックを自動的に監視できます。この API はパッケージ
CURL.IDE.PERFORMANCE に入っていて、以下のプロシージャを含んでいます。
次のコード サンプルを使用して、http 監視を試してみることができます。そうするには、このドキュメント ビューア ウィンドウ内の任意の場所をコントロール右クリックしてインスペクタ コンテキスト メニューを呼び出し、[Http 監視の開始] を選択する必要があります。Http 監視ウィンドウが表示されるので、注意してください。次に、コマンド ボタンをクリックし、http:// で開始する URL (例えば、http://www.curl.com など) を入力します。監視ウィンドウのグリッド表示にレコードが現れるので、注意してください。レコードを選択し、左側のペインでパケット内容を観察します。
例:
http 監視を開始するにはコントロール右クリックを使用します。 |
|
{let buffer:TextFlowBox =
{TextFlowBox width=5in, border-width=1pt,
border-color="black", margin=2pt
}
}
{VBox
buffer,
{CommandButton
label="Select a URL to Read",
{on Action do
{buffer.clear}
let file-url:#Url = {choose-location
default-location = {url "http://www.curl.com"},
title = "Demonstrate HTTP monitoring",
label = "Read from www.curl.com"
}
{if-non-null file-url then
let myinput:#TextInputStream
{try
set myinput={read-open file-url}
catch err:IOException do
{buffer.add {text A problem occurred while opening the file:
{value err.message}
}
}
}
{if-non-null myinput then
{try
{until myinput.end-of-stream? do
{buffer.add {myinput.read-line}}}
catch err:IOException do
{error
"A problem occurred while reading the file: "
& err.message
}
finally
{myinput.close}
}
}
}
}
}
}
| |
Copyright © 1998-2019 SCSK Corporation.
All rights reserved.
Curl, the Curl logo, Surge, and the Surge logo are trademarks of SCSK Corporation.
that are registered in the United States. Surge
Lab, the Surge Lab logo, and the Surge Lab Visual Layout Editor (VLE)
logo are trademarks of SCSK Corporation.