HTTPCall

 

HTMLリクエストの処理

HTTPリクエストを処理し、結果を取得します。この関数を使用することによりREST(Representational State Transfer)サービスを使用することができます。

構文:

HTTPCall (メソッド名, サービスURL, メッセージ, [ヘッダ1], [ヘッダ2], ...)

パラメータ:

  • メソッド名…… メソッドを表す文字列。オプションとして、GET、POST、PUT、DELETEが指定できます。

  • サービスURL …… HTTPリクエストを受け取るHTTPアドレスを意味する文字列。

  • MagicクライアントがWebサーバにアクセスする場合にユーザ名やパスワードを渡したい場合は、URLを以下のようにしてください。

 

http://User:Password@URL

 

シークレット名を使用することで以下のように指定できます。

 

http://user_secretname:pass_secretname@URL

 

  • メッセージ …… メッセージとして処理される文字列。メッセージ内容に対する制限はありません。GETメソッドを使用する場合も、空白で指定する必要があります。

  • ヘッダ …… 文字列:追加したいリクエストヘッダ情報。必要な数のヘッダ情報文字列を指定できます。

戻り値:

BLOBデータ …… 指定したURLによって取得された情報が含まれています。接続に失敗した場合は、NULL が返ります。

例:

HTTPCall('Get','http://www.magicsoftware.com/idex.html', 'if-Modified-Since: Tue 7 Aug 12:00:00 2001', 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)')

 

この例では、2番目のパラメータ(URL)で指定されたファイルを取得します。

3番目のパラメータは、追加リクエストヘッダ情報のサンプルです。もし、ページが指定された日以降に変更された場合のみ、ページの受信要求を行います。

4番目のパラメータは、このリクエストをシミュレートするユーザエージェントのサーバタイプを指定します。

 

HTTPCall('Post',‘http://www.magicsoftware.com/uniScripts/MGrqispi0xxx.dll’,'Appname=ApplicationName&Prgname=ProgramName')

 

アプリケーションサーバ上のMagicアプリケーション(ApplicationName)を起動します。起動されたアプリケーション内でリクエストに対してデータ出力した場合、出力内容が戻り値として返ります。

関連トピック:

HTTPGetHTTPPost

注意事項:

  • HTTPGet 関数は、Proxy サーバを通して接続できます。MAGIC.INI  または、[動作環境]ダイアログで Proxy サーバの指定を行ってください。

  • 関数の取得処理に対するタイムアウトは、MAGIC.INI または、動作環境ダイアログ の「HTTPタイムアウト」で指定できます。

  • 受け取ったHTMLファイル、またはテキストファイルは、文字列操作関数を使用して内容を表示することができます。

  • Blb2File関数で、ファイルに保存することができます。

  • データに特殊な文字(例えば、%、や、<、>…)が含まれている場合、変換したくなければ、リクエストのHTTPヘッダに 'content-type:text/html を含めてください。

参考:

HTTPメソッドについて

  • GET …… URLで指定した情報を要求します。URLがファイル名のときはそのファイルの中身を、プログラム名のときはそのプログラムの出力を返します。

  • POST …… クライアントからデータを(名前と値)のセットで渡します。フォームデータを送るときなどに使用します。

  • PUT …… URLで指定したサーバ上のファイルを置き換えます。

  • DELETE …… URIで指定したサーバ上のファイルを削除します。

PUT/DELETEを使用する場合は、IISを以下のように設定してください。

  • Windows XP/Windows2003 …… エイリアスの書き込み権を有効にしてください。

  • Windows 7/Winsows 2008R2 …… ルートエイリアスで以下の設定を行います。

    • 基本認証を有効にします。

    • WebDAVオーサリング規則で「書き込み」のアクセス許可を有効にします。

    • HTTPCallで指定するURLにユーザIDとパスワードを指定します。