Topics
All
MacOS
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server
Client
Old
Deprecated
Guides
Examples
Videos
New in version:
9.3
9.4
9.5
10.0
10.1
10.2
10.3
10.4
10.5
10.6
Statistic
FMM
Blog
CURL.SetOptionPostFields
Sets the post fields.
| Component | Version | macOS | Windows | Linux | Server | FileMaker iOS SDK |
| CURL | 2.5 | Yes | Yes | Yes | Yes | Yes |
Parameters
| Parameter | Description | Example | Flags |
|---|---|---|---|
| curl | The CURL session handle. | $curl | |
| Value | The post data. | "" | |
| Encoding | The text encoding for text parameter. Default is UTF-8. Possible encoding names: ANSI, ISO-8859-1, Latin1, Mac, Native, UTF-8, DOS, Hex, Base64 or Windows. More listed in the FAQ. |
"UTF8" | Optional |
Result
Returns "OK" on success.
Description
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.
Examples
Run a generic POST request for REST or SOAP web service:
# new session
Set Variable [$curl; Value:MBS("CURL.New")]
# use stripe charge API
Set Variable [$result; Value:MBS("CURL.SetOptionURL"; $curl; "https://someURL/service")]
# set user name and password if needed:
Set Variable [$result; Value:MBS("CURL.SetOptionUserName"; $curl; "user name")]
Set Variable [$result; Value:MBS("CURL.SetOptionPassword"; $curl; "password")]
# set some additional headers, which may include custom authorization and content types:
Set Variable [$result; Value:MBS( "CURL.SetOptionHTTPHeader"; $curl; "Authorization: Bearer a92eabb9-76f9-42ee-b280-bcd15cb2e9db"; "Content-Type: application/json" )
# make a post with given content:
Set Variable [$result; Value:MBS("CURL.SetOptionPostFields"; $curl; $json]
# 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.Release"; $curl)]
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; "https://api.stripe.com/v1/charges")]
# 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¤cy=usd&description=Charge%20for%20test@example.com&source[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.Release"; $curl)]
See also
- CURL.GetOptionPostFields
- CURL.SetOptionCookieList
- CURL.SetOptionCustomRequest
- CURL.SetOptionHTTPHeader
- CURL.SetOptionPassword
- CURL.SetOptionPost
- CURL.SetOptionPostQuote
- CURL.SetOptionProtocols
- CURL.SetOptionSSLCert
- CURL.SetOptionSSLKey
Example Databases
- CURL/Amazon S3 Upload File
- CURL/WebServices/AdobeSign WebService
- CURL/WebServices/CURL FMS Admin API v18
- CURL/WebServices/ebay webservice/ebay Webservice
- CURL/WebServices/magento older
- CURL/WebServices/Magento2 REST API
- CURL/WebServices/Sales Force Test
- CURL/WebServices/Swiss Post Addresscheck V4-02-00
- CURL/WebServices/Swiss Post Addresscheck
- CURL/WebServices/Twilio API Send SMS Json
Blog Entries
- MBS FileMaker Plugin, version 10.4pr9
- Using Apple's Global Service Exchange web service in FileMaker
- Let CURL handle cookie list
- LogicalDOC Webservice
- Comparing Base Elements Plugin to MBS FileMaker Plugin
- Using Apple's Global Service Exchange web service in FileMaker
- Swiss Post Webservice to verify addresses
- Using CURL with Rosette web service
- Translate PHP script with CURL to FileMaker Script
- CURL from command line to Plugin
FileMaker Magazin
Release notes
- Version 10.4
- Fixed an issue with CURL.SetOptionPostFields to accept > 8 MB in size of post data.
Created 18th August 2014, last changed 19th April 2020
CURL.SetOptionPostFieldSize - CURL.SetOptionPostQuote
Feedback: Report problem or ask question.
Links
MBS FileMaker Plugins