cURL (Client for URLs) はオープン標準のソフトウェア関数ライブラリです。これを使用することにより、[URL から挿入] スクリプトステップで多数の一般的なファイル転送オプションをサポートできます。このスクリプトステップでは、[cURL オプションの指定] を使用して次の cURL オプションを 1 つ以上含む計算式を作成します。
FileMaker クライアントでサポートされるのは下に記載したオプションのみです。詳細については、cURL のマニュアルを参照してください。
オプション1 | 引数2 | メモ |
|
|
|
|
|
|
|
|
|
|
| 秒数を小数で指定します。 |
|
| 現在のファイルサイズとして「-」を使用することはできません。データは追加されるのではなく、バイナリの対象と置き換えられます。 |
|
| 表についてのメモ 3 を参照してください。 |
|
| ファイルへの直接アクセスおよび「-」は FileMaker 変数で置き換えられます。 |
|
|
|
|
| 表についてのメモ 4 を参照してください。 |
|
| 表についてのメモ 4 を参照してください。 |
|
| 表についてのメモ 4 を参照してください。 |
|
|
|
|
| 表についてのメモ 4 を参照してください。 |
|
|
|
|
|
|
|
|
|
|
| 表についてのメモ 3 を参照してください。 |
|
| 秒数を小数で指定します。 |
|
|
|
|
| [URL から挿入] が変数をターゲットとする場合、このオプションを使用して、返されるデータをオブジェクトデータとして強制的に保存します。 |
|
| このオプションの直後に続くオプションに含まれるテキストを、FileMaker の内部文字エンコードから指定のエンコードに変換します。TextEncode 関数の |
|
| 表についてのメモ 4 を参照してください。 |
|
|
|
|
|
|
|
|
|
|
| これらのメソッドのいずれかを指定します。 |
|
|
|
|
| ポートの範囲を指定するには |
|
|
|
|
|
|
|
| 設定されていない場合は |
|
| 次のモードのいずれかを指定します。 |
|
|
|
|
|
|
|
| ヘッダを指定するたびにこのオプションを使用します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 秒数を整数で指定します。 |
|
| 整数を指定してからオプションの単位を指定します。 |
|
|
|
|
| 1 つのポートかポートの範囲を指定します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 秒数を小数で指定します。 |
|
| 圧縮された要求がデフォルトで要求されます。無効にするときにこのオプションを使用します。 |
|
| キープアライブメッセージはデフォルトで有効にされています。無効にするときにこのオプションを使用します。 |
|
|
|
|
| ファイル名はオブジェクトデータの属性としてのみ使用されます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ヘッダを指定するたびにこのオプションを使用します。 |
|
| curl コマンドラインツールとは異なり、パスワードが存在しなくても FileMaker クライアントはユーザに入力を求めません。 |
|
|
|
|
|
|
|
| FTP サーバーに対するコマンドごとにこのオプションを使用します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| リゾルバを指定するたびにこのオプションを使用します。 |
|
| エラー処理を参照してください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 秒あたりのバイト数を整数で指定します。 |
|
| 秒数を整数で指定します。 |
|
|
|
|
|
|
|
| cURL スタイルの日付式しか指定できません。 |
|
|
|
|
| 表についてのメモ 3 を参照してください。 |
|
| 表についてのメモ 3 を参照してください。 |
|
|
|
|
| 表についてのメモ 3 を参照してください。グロビング (パターンに一致するファイル名を指定) はサポートされていません。FTP および FTPS の場合、サーバーへのアップロード後のファイル名は URL の末尾に指定されたファイル名と同じになります。他のすべてのサポートされるプロトコルの場合、ファイル名はオブジェクトデータに指定されたファイル名と同じです。URL 内のファイル名は無視されます。 |
|
|
|
|
| curl コマンドラインツールとは異なり、パスワードが存在しなくても FileMaker クライアントはユーザに入力を求めません。 |
|
|
|
1. --data
と -d
などのように、一部のオプションについては長い形式と短い形式のオプション名がサポートされています。
2. 引数のオプション部分は角カッコ ([ ]) で囲まれています。
3. ファイルへの直接アクセスは FileMaker 変数で置き換えられます。
4. ファイルへの直接アクセスは、先頭に @ を付けた FileMaker 変数で置き換えられます。
サポートされているどのオプションでもファイルシステムのファイルに直接アクセス、またはファイルを作成することはできませんが、オプションに必須のデータ転送元またはデータ転送先として FileMaker 変数を指定できます。ファイルにアクセス、またはファイルを作成するためにオブジェクトフィールドに変数を設定することができます。
ファイルにアクセスする場合は、ファイルを含むオブジェクトフィールドに変数を設定して cURL オプションの引数としてこの変数を使用します。
ファイルを作成する場合は、変数を cURL オプションの引数として使用して、オブジェクトフィールドをこの変数に設定してからオブジェクトフィールドをファイルとしてエクスポートします。
サポートされていない cURL オプションは無視されます。
--show-error
オプションを使用すると次のように処理されます:
•cURL ライブラリからエラーが返され、そのために不特定の接続エラーを示すエラーコード 1631 が Get (最終エラー) 関数経由で FileMaker クライアントから返された場合は、curl コマンドラインツールから返されたのと同じテキストが Get (最終外部エラー詳細) 関数から返されます。
•操作が成功した一方で、サーバーから 400 以上の応答コードがデータとともに返された場合は、該当するエラーコードが FileMaker クライアントから返されます。該当する FileMaker のエラーコードがない場合は、Get (最終エラー) から 1631 が返されて、Get (最終外部エラー詳細) から「Response code: nnn」という形式の応答コードが返されます。
--show-error
オプションを使用しないと、サーバーの応答コード 401 によって Get (最終エラー) から FileMaker エラーコード 1627 (「認証に失敗しました」) が返されます。その他の応答コードの場合は FileMaker エラーコード 0 (「エラーなし」) が返されます。
資格情報 myusername
および mypassword
を使用して、HTTPS POST データを 2 つのキー/値ペア (fname=Bob
と lname=Smith
) として www.filemaker.com に送信して、要求されたデータを $$結果変数に保存します。
[URL から挿入] スクリプトステップで次の処理を実行します:
•[ターゲット] を $$結果
という名前の変数に設定します。
•[URL を指定] を https://www.filemaker.com/
に設定します。
•[cURL オプションの指定] を次の同等のオプションセットのいずれかに設定します:
"--user myusername:mypassword --data fname=Bob&lname=Smith"
"--user myusername:mypassword -d fname=Bob --data-ascii lname=Smith"
"--user myusername:mypassword -d @$post_data"
変数 $post_data
はテキストとしてキー/値ペアに設定するか、キー/値ペアを含むテキストファイルを含んだオブジェクトフィールドに設定します。
次のスクリプトは上の例を示し、post_data
オブジェクトフィールドに含まれるファイルからキー/値ペアを送信します。
変数を設定 [$post_data ; 値: テーブル::post_data]
URL から挿入 [ダイアログあり: オフ ; ターゲット: $$results ;
"https://www.filemaker.com/" ; SSL 証明書の検証 ;
cURL オプション: "--user myusername:mypassword -d @$post_data"]
•cURL オプション内ではそれぞれのクォーテーションマークの前にバックスラッシュを付けます。たとえば、Content-type: application/json
の HTTP ヘッダを指定する場合の [cURL オプションの指定] のテキスト式は次のようになります。
"--header \"Content-type: application/json\""