User Guide
cfhttpparam 225
Usage
Specifies header or body data to send in the HTTP request. The type attribute identifies the
information that the parameter specifies. A
cfhttp tag can have multiple cfhttpparam tags,
subject to the following limitations:
• An XML type attribute cannot be used with additional XML type attributes, or with body, file,
or
formField type attributes.
• A body type attribute cannot be used with additional body type attributes, or with XML, file,
or
formField type attributes.
• The XML and body type attributes cannot be used with the cfhttp tag TRACE method.
• The file type attribute is only meaningful with the cfhttp tag POST and PUT methods.
• The formField type attribute is only meaningful with the cfhttp tag POST and GET
methods.
If you send an HTTP request to a ColdFusion page, all HTTP headers, not just those sent using
the CGI type, are available as CGI scope variables, However, any custom variables (such as
"myVar") do not appear in a dump of the CGI scope.
When you send a file using the
type="file" attribute, the file content is sent in the body of a
multipart/form-data request. If you send the file to a ColdFusion page, the Form scope of the
receiving page contains an entry with the name you specified in the
cfhttpparam tag name
attribute as the key. The value of this variable is the path to a temporary file containing the file
that you sent. If you also send Form field data, the location of the filename in the form.fieldnames
key list depends on the position of the
cfhttpparam tag with the file relative to the cfhttp tags
with the form data.
URL-encoding preserves special characters (such as the ampersand) when they are passed to the
server. For more information, see the function
URLEncodedFormat on page 899.
To send arbitrary data in a “raw” HTTP message, use a
cfhttpparam tag with a type="body"
attribute to specify the body content and use
cfhttpparam tags with a type="header" attributes
to specify the headers.
Example
<!--- This example consists of two CFML pages.
The first page posts to the second. --->
<!--- The first, posting page.
This page posts variables to another page and displays the body
of the response from the second page.
Change the URL and port as necessary for your environment. --->
<cfhttp
method="post"
url="http://127.0.0.1/tests/http/cfhttpparamexample.cfm"
port="8500"
throwonerror="Yes">
<cfhttpparam name="form_test" type="FormField" value="This is a form
variable">
<cfhttpparam name="url_test" type="URL" value="This is a URL variable">