GroovyHTTPアクセス
最終更新日: 23 年 2024 月 XNUMX 日LogicMonitor Collectorには、Groovy内でのHTTPの使用を支援するためのヘルパーメソッドがいくつかあります。 Groovy / HTTPメソッドを使用して次のことを行う必要がある場合があります。
- Webページからデータをフェッチし、結果を処理します
- マルチステップのWebトランザクションを実行します。たとえば、XNUMXつのトランザクションで認証Cookieを取得し、そのCookieを使用して後続のトランザクションを認証します。
単一の Web ページからデータを取得する DataSource を作成している場合は、 ウェブページ収集メカニズム.
Groovyメソッドリファレンス
オブジェクトのインスタンス化
HTTP.open(host、port、[isSSL]) 複数のHTTPトランザクションで使用するためにHTTPセッションオブジェクトをインスタンス化します
- 文字列 host –接続するホスト名
- int型 ポート –接続するポート
- ブール値 isSSL –SSLを使用するかどうか。 ポートが443でない限り、デフォルトはfalseです。
- オブジェクトを返します httpクライアント – httpClientオブジェクト
オブジェクトメソッド
setAuthentication(user、pass) getメソッドとpostメソッドの基本認証の認証情報を設定します
- 文字列 user –ユーザー名
- 文字列 パス –パスワード
- 収益 ヌル
setConnectTimeout(ミリ秒)最初のTCP接続の接続タイムアウトを設定します。 デフォルトはcollector.confファイルの設定です。
- int型 ミリ秒 –ミリ秒単位の接続時間
setReadTimeout(ミリ秒)読み取りタイムアウト(要求を完了する時間)を設定します。デフォルトはcollector.confファイルの設定です。
- int型 ミリ秒 –ミリ秒単位の読み取り時間
setFollowRedirect(follow) 通常、httpclientは透過的にリダイレクトに従います。 これをfalseに設定してフォローしないようにし、リダイレクトヘッダーを返すことができます。
- ブール値 –リダイレクトに従うかどうか。 デフォルトはtrueです。
setHTTPProxy(host、port [、user、pass]) オブジェクトのgetおよびpostリクエストに使用するHTTPプロキシを指定します。 ユーザーとパスワードが資格情報とともに渡される場合は、BASIC認証方法のみをサポートします
- 文字列 host –httpプロキシホスト
- 整数 ポート –httpプロキシポート
- オプションの文字列 user –httpプロキシユーザー名
- オプションの文字列 パス –httpプロキシパスワード
get(url、[ヘッダー]) 提供されたURLでHTTPGETを実行し、HTTP応答全体を返します
- 文字列 URL –ターゲットURL
- 任意 java.util.Map ヘッダーの ヘッダーのマップ(getでヘッダーを渡すことをサポートするにはコレクター25.100以降が必要です)
- 戻り文字列 応答 – HTTP応答全体
例: response=httpClient.get(url,[“Accept” : “text/plain, text/html”])
post(URL、ペイロード、ヘッダー) 提供されたURLに対してHTTPPOSTを実行し、応答全体を返します
- 文字列 URL –ターゲットURL
- 文字列 ペイロード –ポストデータペイロード
- 地図 ヘッダーの –XNUMXつ以上のHTTPPOSTヘッダーを含むマップ
- 戻り文字列 応答 – HTTP応答全体
getHeaders() 最後の呼び出しのHTTPヘッダーのみを返します
getHeader(文字列) 名前の付いた特定のヘッダーを返す 文字列 最後の電話から。 例 println httpClient.getHeader(“Set-Cookie”)
getResponseBody() 最後の呼び出しのHTTPボディのみを返す
getStatusCode() 最後の呼び出しのHTTPステータスコードのみをとして返します 整数.
getTimeStatistics() 2 つの配列を返します 憧れるを含む 接続時間(TCPおよびHTTPSの確立を完了する時間–これはsetConnectTimeoutで設定された時間とは異なります)および最後の要求の読み取り時間(要求を完了するための合計時間)(ミリ秒単位)。
閉じる() HTTP オブジェクトを閉じて解放します。 そうしないと、コレクターがクリーンアップしてリソースを解放しますが、常にリソースを解放することをお勧めします
例–データをHTTP APIにPOSTし、応答をテストします
この例では、サーバーに対してHTTP POSTを実行して、セッションを認証します。 セッションCookieは、同じHTTPオブジェクトを使用する後続のGET呼び出しで自動的に使用されます。