Allowed
inside cfhttp tag bodies only. Required
for cfhttp POST operations. Optional for all others.
Specifies parameters to build an HTTP request.
Internet protocol tags
<cfhttpparam
type = "transaction type"
encoded = "yes|no"
file = "filename"
mimeType = "MIME type designator"
name = "data name"
value = "data value">
attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.cfhttp, GetHttpRequestData, cfftp, cfldap, cfmail, cfmailparam, cfpop
ColdFusion MX 6.1:
Added the header and body types.
Added the encoded and mimeType attributes.
Changed HTTP method behavior: all HTTP methods can have httpparam tags.
Changed the name attribute requirements:
it is not required for all types.
Attribute |
Req/Opt |
Default |
Description |
|---|---|---|---|
|
Required |
Information type:
|
|
|
Optional |
|
Applies to FormField and CGI types; ignored for all other types. Specifies whether to URL encode the form field or header. |
|
Required only if |
Applies to File type; ignored for all other types. The absolute path to the file that is sent in the request body. |
|
|
Optional |
Applies to File type; invalid for all other types. Specifies the MIME media type of the file contents. The content type can include an identifier for the character encoding of the file; for example, text/html; charset=ISO-8859-1 indicates that the file is HTML text in the ISO Latin-1 character encoding. |
|
|
Required. Optional (and ignored) for Body and XML types |
Variable name for data that is passed. Ignored for Body and XML types. For File type, specifies the filename to send in the request. |
|
|
Required. Optional (and ignored) for File type |
Value of the data that is sent. Ignored
for File type. The value must contain string data or data that ColdFusion
can convert to a string for all |
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 XMLtype attribute
cannot be used with additional XMLtype attributes, or
with body, file, or formFieldtype attributes.
A bodytype attribute cannot
be used with additional bodytype attributes, or
with XML, file, or formFieldtype attributes.
The XML and bodytype attributes
cannot be used with the cfhttp tag TRACE method.
The filetype attribute
is only meaningfulwith the cfhttp tag POST
and PUT methods.
The formField type attribute is only meaningfulwith
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.
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.
<!--- 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">
<cfhttpparam name="cgi_test" type="CGI" value="This is a CGI variable">
<cfhttpparam name="cookie_test" type="Cookie" value="This is a cookie">
</cfhttp>
<!--- Output the results returned by the posted-to page. --->
<cfoutput>
#cfhttp.fileContent#
</cfoutput>
<!--- This is the cfhttpparamexample.cfm page that receives and processes the Post request. Its response body is the generated HTML output. --->
<h3>Output the passed variables</h3>
<cfoutput>
Form variable: #form.form_test#
<br>URL variable: #URL.url_test#
<br>Cookie variable: #Cookie.cookie_test#
<br>CGI variable: #CGI.cgi_test#<br>
<br>Note that the CGI variable is URL encoded.
</cfoutput>