4D v16.3HTTP Request |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
HTTP Request
HTTP Request
HTTP Requestコマンドは指定したURLに任意のメソッドでHTTPリクエストを送信し、HTTPサーバーのレスポンスを処理することを可能にします。 httpMethod 引数にはHTTPリクエストのメソッドを渡します。HTTP Clientテーマの以下の定数を使用できます:
リクエストの送信先を url 引数に渡します。使用されるシンタックスは以下の通りです: http://[{user}:[{password}]@]host[:{port}][/{path}][?{queryString}] 例えば以下の文字列を渡すことができます: http://www.myserver.com (*) HTTPSリクエストを行う場合でも、証明書の発行局は検証されません。 contents 引数にはリクエストのボディを渡します。この引数に渡されるデータはリクエストのHTTPメソッドにより異なります。
コマンド実行後、response 引数はサーバーから返された結果を受け取ります。この結果はレスポンスからヘッダーを取り除いたボディー部になります。
注: response 引数にテキスト変数が渡された場合、4Dはサーバーから返されたデータを解読しようとします。4Dはまずcontent-type ヘッダーから文字セットを取得しようとし、次にBOMの中身を使用し、最後はhttp-equiv charset (html コンテンツ内) あるいは encoding (xml用) 属性を探します。それでも文字セットが見つからない場合、4DはレスポンスをANSIで解読しようとします。変換が失敗した場合、返されるテキストは空になります。サーバーが文字セット情報あるいはBOMを返すかどうかが分からない一方エンコーディング情報を知っている場合には、BLOBにresponse変数を渡してConvert to textを呼び出す方が正確です。 C_OBJECT 型の変数を <span class="rte4d_prm">response</span> 引数に渡したとき、リクエストが "application/json" (または "<em>something</em>/json") コンテンツ型と結果を返してきた場合、4D はオブジェクトを生成するためにJSON コンテンツを解析しようとします。 サーバーから返された結果がresponseの変数型に対応しない場合、変数は空のままでOKシステム変数に0が設定されます。 headerNames と headerValuesにはリクエストヘッダーの名前と値をそれぞれ格納した配列を渡します。 * 引数を使用してサーバー接続時にkeep-aliveメカニズムを有効にできます。デフォルトではこの引数が省略されると、keep-aliveは有効になりません。 コマンドからは標準のHTTPステータスコードが返されます (200=OK等)。HTTPステータスコードについてはRFC 2616を参照してください。 リモートデータベースからレコード削除を要求する: $body_t:="{record_id:25}" 注: サーバー側では受け付けたリクエストに応じて適切な処理を実装しなければなりません。HTTP Requestはリクエストの送信と返される結果を処理するだけです。 リモートデータベースにレコード追加を要求する: $body_t:="{fName:'john',fName:'Doe'}" 注: サーバー側では受け付けたリクエストに応じて適切な処理を実装しなければなりません。HTTP Requestはリクエストの送信と返される結果を処理するだけです。 リモートデータベースにJSON形式のレコードを追加するリクエスト: C_OBJECT($content)
参照
|
プロパティ
プロダクト: 4D 履歴
初出: 4D v13 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||