投稿者

Product Support at InterSystems Japan
記事 Megumi Kakechi · 9月 3, 2024 2m read

HTTPレスポンスヘッダの取得方法

これは InterSystems FAQ サイトの記事です。
HTTPレスポンスヘッダ情報を取得したい場合、以下のような方法があります。
開発中などに、送られてきたヘッダの項目名、そのデータを確認したい場合に、是非ご活用ください。
 

*CSPまたはRESTでヘッダ情報を取る場合

set var=""for {
   set var=$order(%request.CgiEnvs(var))
   if var=""quitset val=$get(%request.CgiEnvs(var))
   write var_": "_val,"<BR>"
 }

%request オブジェクトについて


*ターミナルで情報を取る場合

%Net.HttpRequest クラスの Head メソッドを使用します。

set http = ##class(%Net.HttpRequest).%New()
 set http.Server = "localhost"set http.Port = 80do http.Head("/csp/user/menu.csp")         // ヘッダ情報をリクエストするURLdo http.HttpResponse.OutputToDevice()
 set http = ""


*簡単に目で見る場合

WebゲートウェイのHTTPトレースを使用する
1.    Webゲートウェイ管理ページにアクセス
       http://localhost/csp/bin/Systems/Module.cxw
2.    HTTP トレースを表示 をクリック
3.    トレースON をクリック
4.    (データをリクエスト)
5.    トレースOFFをクリック
6.    ログを確認
→ 調査後、トレースをOFFにするのを忘れないようにしてください
→ IRIS2024.1 より前のバージョンでは、管理ポータル用に Private Web Server (既定のポート:52773)が同梱されていました。
  本番アプリのWebサーバ(IIS/Apacheなど、既定のポート:80)の設定と区別するよう注意してください。