サポートされている cURL オプション

cURL (Client for URLs) はオープン標準のソフトウェア関数ライブラリです。これを使用することにより、[URL から挿入] スクリプトステップで多数の一般的なファイル転送オプションをサポートできます。このスクリプトステップでは、[cURL オプションの指定] を使用して次の cURL オプションを 1 つ以上含む計算式を作成します。

FileMaker クライアントでサポートされるのは下に記載したオプションのみです。詳細については、cURL のマニュアルを参照してください。

オプション 1

引数 2

メモ

--anyauth

 

 

--basic

 

 

--cert
-E

<$[$]FileMaker 変数[:パスワード]>

v19.1.2: HTTPS、FTPS または別の SSL ベースのプロトコルで使用するクライアント証明書ファイル3 を指定します。[:パスワード] を追加してクライアント証明書のパスフレーズを指定します。

このオプションでは、プライベートキーとクライアント証明書が連結された証明書ファイルを想定しています。--key および --pass を使用して、それぞれ指定してください。

--cert-type

<タイプ>

v19.1.2: クライアント証明書のタイプを指定します。サポートされているタイプは PEMDER、および P12 です。指定しないと PEM が使用されます。

--ciphers

<暗号の一覧>

 

--connect-timeout

<秒>

秒数を小数で指定します。

--continue-at
-C

<オフセット>

現在のファイルサイズとして「-」を使用することはできません。データは追加されるのではなく、バイナリの対象と置き換えられます。

--cookie
-b

<名前=データ[;n2=d2]> または <$[$]FileMaker 変数>

表についてのメモ 3 を参照してください。

--cookie-jar
-c

<$[$]FileMaker 変数>

ファイルへの直接アクセスおよび「-」は FileMaker 変数で置き換えられます。

--crlf

 

 

--data
-d

<データ> または @<$[$]FileMaker 変数>

表についてのメモ 4 を参照してください。

--data-ascii

<データ> または @<$[$]FileMaker 変数>

表についてのメモ 4 を参照してください。

--data-binary

<データ> または @<$[$]FileMaker 変数>

表についてのメモ 4 を参照してください。

--data-raw

<データ>

 

--data-urlencode

<データ> または =<データ> または @<$[$]FileMaker 変数> または <名前>=<データ> または <名前>@<$[$]FileMaker 変数>

表についてのメモ 4 を参照してください。

--digest

 

 

--disable-eprt

 

 

--disable-epsv

 

 

--dump-header
-D

<$[$]FileMaker 変数>

表についてのメモ 3 を参照してください。

--expect100-timeout

<秒>

秒数を小数で指定します。

--fail
-f

 

 

--FM-return-container-variable

 

[URL から挿入] が変数をターゲットとする場合、このオプションを使用して、返されるデータをオブジェクトデータとして強制的に保存します。

--FM-text-encoding

<エンコード>

このオプションの直後に続くオプションに含まれるテキストを、FileMaker の内部文字エンコードから指定のエンコードに変換します。TextEncode 関数encoding 引数に定義した名前のいずれかを使用します。

--form
-F

<名前=内容> または <名前=@$[$]FileMaker 変数>

表についてのメモ 4 を参照してください。

--form-string

<名前=内容>

 

--ftp-alternative-to-user

<コマンド>

 

--ftp-create-dirs

 

 

--ftp-method

multicwdnocwd、または singlecwd

これらのメソッドのいずれかを指定します。

--ftp-pasv

 

 

--ftp-port
-P

<インターフェース> または <IP アドレス> または <ホスト名> または -

ポートの範囲を指定するには :[開始]-[終了] を追加します。

--ftp-pret

 

 

--ftp-skip-pasv-ip

 

 

--ftp-ssl-ccc

 

設定されていない場合は --ftp-ssl-ccc-modepassive に設定します。

--ftp-ssl-ccc-mode

active または passive

次のモードのいずれかを指定します。

--ftp-ssl-control

 

 

--head
-I

 

 

--header
-H

<名前: 値>

ヘッダを指定するたびにこのオプションを使用します。

--ignore-content-length

 

 

--interface

<名前>

 

--ipv4
-4

 

 

--ipv6
-6

 

 

--junk-session-cookies
-j

 

 

--keepalive-time

<秒>

秒数を整数で指定します。

--key-type

<タイプ>

v19.1.2: プライベートキーファイルのタイプを指定します。サポートされているタイプは DER および PEM です。指定しないと PEM が使用されます。

--key

<$[$]FileMaker 変数>

v19.1.2: プライベートキーファイル3 を指定します。このオプションは、プライベートキーを認証ファイルとは別に指定する必要がある場合に使用します。

--limit-rate

<速度[b|B|k|K|m|M|g|G]>

整数を指定してからオプションの単位を指定します。

--list-only
-l

 

 

--local-port

<番号>[-番号]

1 つのポートかポートの範囲を指定します。

--location
-L

 

 

--location-trusted

 

 

--mail-auth

<アドレス>

 

--mail-from

<アドレス>

 

--mail-rcpt

<アドレス>

 

--max-filesize

<バイト>

 

--max-time
-m

<秒>

秒数を小数で指定します。

--no-compressed

 

圧縮された要求がデフォルトで要求されます。無効にするときにこのオプションを使用します。

--no-keepalive

 

キープアライブメッセージはデフォルトで有効にされています。無効にするときにこのオプションを使用します。

--noproxy

<ホスト[,ホスト]> または *

 

--output
-o

<ファイル名>

ファイル名はオブジェクトデータの属性としてのみ使用されます。

--pass

<フレーズ>

v19.1.2: プライベートキーのパスフレーズ。このオプションは、プライベートキーのパスフレーズを認証ファイルとは別に指定する必要がある場合に使用します。

--path-as-is

 

 

--post301

 

 

--post302

 

 

--post303

 

 

--proxy
-x

<[プロトコル://][ユーザ:パスワード@]プロキシホスト[:ポート]>

 

--proxy-anyauth

 

 

--proxy-basic

 

 

--proxy-digest

 

 

--proxy-header

<名前: 値>

ヘッダを指定するたびにこのオプションを使用します。

--proxy-user
-U

<ユーザ:パスワード>

curl コマンドラインツールとは異なり、パスワードが存在しなくても FileMaker クライアントはユーザに入力を求めません。

--proxy1.0

<プロキシホスト[:ポート]>

 

--proxytunnel
-p

 

 

--quote
-Q

<コマンド>

FTP サーバーに対するコマンドごとにこのオプションを使用します。

--range
-r

<範囲>

 

--raw

 

 

--referer
-e

<URL>

--location を併用する場合は URL の最後に ;auto を指定できます。

--request
-X

<コマンド>

 

--resolve

<ホスト:ポート:アドレス>

リゾルバを指定するたびにこのオプションを使用します。

--show-error
-S

 

エラー処理を参照してください。

--socks4

<ホスト[:ポート]>

 

--socks4a

<ホスト[:ポート]>

 

--socks5

<ホスト[:ポート]>

 

--socks5-hostname

<ホスト[:ポート]>

 

--speed-limit
-Y

<速度>

1 秒あたりのバイト数を整数で指定します。

--speed-time
-y

<時刻>

秒数を整数で指定します。

--ssl

 

--ftp-ssl もサポートされます。

--ssl-reqd

 

--ftp-ssl-reqd もサポートされます。

--time-cond
-z

<日付式>

cURL スタイルの日付式しか指定できません。

--tr-encoding

 

 

--trace

<$[$]FileMaker 変数>

表についてのメモ 3 を参照してください。

--trace-ascii

<$[$]FileMaker 変数>

表についてのメモ 3 を参照してください。

--trace-time

 

 

--upload-file
-T

<$[$]FileMaker 変数>

表についてのメモ 3 を参照してください。グロビング (パターンに一致するファイル名を指定) はサポートされていません。FTP および FTPS の場合、サーバーへのアップロード後のファイル名は URL の末尾に指定されたファイル名と同じになります。他のすべてのサポートされるプロトコルの場合、ファイル名はオブジェクトデータに指定されたファイル名と同じです。URL 内のファイル名は無視されます。

--use-ascii
-B

 

 

--user
-u

<ユーザ:パスワード>

curl コマンドラインツールとは異なり、パスワードが存在しなくても FileMaker クライアントはユーザに入力を求めません。

--user-agent
-A

<エージェント文字列>

 

--version

-V

 

v19.1.2: cURL ライブラリ (libcurl) のバージョン情報を表示します。最初の行には libcurl のフルバージョンおよびリンクされた他のサードパーティ製ライブラリが表示されます。「Features:」で始まる 2 行目には、サポートされている libcurl 機能が表示されます。

表についてのメモ

  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=Boblname=Smith) として example.com に送信して、要求されたデータを $$結果変数に保存します。

[URL から挿入] スクリプトステップで次の処理を実行します:

  • [ターゲット] を $$結果という名前の変数に設定します。
  • [URL を指定] を https://example.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 オブジェクトフィールドに含まれるファイルからキー/値ペアを送信します。

Copy
変数を設定 [$post_data ; 値: table::post_data]
URL から挿入 [ダイアログあり: オフ ; ターゲット: $$results ;  
"https://example.com/" ; SSL 証明書の検証 ;  
cURL オプション: "--user myusername:mypassword -d @$post_data"]

メモ 

  • cURL オプション内ではそれぞれのクォーテーションマークの前にバックスラッシュを付けます。たとえば、Content-type: application/json の HTTP ヘッダを指定する場合の [cURL オプションの指定] のテキスト式は次のようになります。
    "--header \"Content-type: application/json\""