Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 8.1   8.2   8.3   8.4   8.5   9.0   9.1   9.2   9.3   9.4    Statistic  


Sets the post fields.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
CURL 2.5 Yes Yes Yes Yes Yes
MBS( "CURL.SetOptionPostFields"; curl; Value { ; Encoding } )   More


Parameter Description Example value
curl The CURL session handle. $curl
Value The post data. ""
Encoding Optional
The text encoding for text parameter.
Default is UTF-8.
Possible encoding names: ANSI, Arabic-Mac, Arabic-Win, Baltic-Win, CentralEurope-Mac, ChineseSimp-Mac, ChineseSimp-Win, ChineseTrad-Mac, ChineseTrad-Win, Cyrillic-Mac, Cyrillic-Win, EasternEurope-Win, Greek-Mac, Greek-Win, Hebrew-Mac, Hebrew-Win, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-15, Korean-Johab, Korean-Mac, Korean-Win, Latin1, Mac, Native, ShiftJIS-Mac, ShiftJIS-Win, Turkish-Mac, Turkish-Win, UTF-8, DOS or Windows. Pass native to use the native encoding of the current platform.


Returns "OK" on success.


Sets the post fields.
Pass a text, which should be the full data to post in an HTTP POST operation.
The plugin sets the size for you. You can overwrite it with CURL.SetOptionPostFieldSize function.

If you plan to pass a form, maybe check functions like CURL.FormAddKeyValue instead of building post fields yourself.

You can use CURL.SetOptionHTTPHeader to set the content type and other headers.

Using this function is not recommended for more than a few hundred MB of text. If you need more, better stream the data with CURL.OpenInputFile from a file.

See also COPYPOSTFIELDS option in CURL manual.


Set post field with some XML for SOAP WebService:

MBS("CURL.SetOptionPostFields"; $curl; "<xml>....</xml>"; "UTF-8")

Set post fields:

MBS("CURL.SetOptionPostFields"; $curl; "first=John&last=Smith"; "UTF-8")

Build form:

MBS( "CURL.FormAddKeyValue"; $curl; "login"; "testuser" )
MBS( "CURL.FormAddKeyValue"; $curl; "password"; "xxx" )
MBS( "CURL.FormFinish"; $curl )

Charge with Stripe webservice:

# new session
Set Variable [$curl; Value:MBS("CURL.New")]
# use stripe charge API
Set Variable [$result; Value:MBS("CURL.SetOptionURL"; $curl; "")]
# set user name
Set Variable [$result; Value:MBS("CURL.SetOptionUsername"; $curl; "sk_test_ your id here")]
# make a post with given content:
Set Variable [$result; Value:MBS("CURL.SetOptionPost"; $curl; 1)]
Set Variable [$result; Value:MBS("CURL.SetOptionPostFields"; $curl; "amount=400&currency=usd&[object]=card&source[number]=4242424242424242&source[exp_month]=12&source[exp_year]=2017&source[cvc]=123")]
# perform
Set Field [CURL Test::Result; MBS("CURL.Perform"; $curl)]
# now check result
Set Field [CURL Test::Text; MBS("CURL.GetResultAsText"; $curl; "UTF8")]
Set Field [CURL Test::header; MBS("CURL.GetDebugAsText"; $curl)]
# cleanup
Set Variable [$result; Value:MBS("CURL.Cleanup"; $curl)]

See also

Example Databases

Blog Entries

Created 18th August 2014, last changed 18th July 2019

CURL.SetOptionPostFieldSize   -   CURL.SetOptionPostQuote

Feedback: Report problem or ask question.

MBS Xojo Chart Plugins