There's a known bug in CF11 and CF 2016 tag CFHTTP that is not yet fixed. Basically, if a url parameter name looks like ‘xxx==’, ColdFusion sends it as:
Parameter name: “xxx=”
Value of the parameter: “= “
Since parameter name should contain two ‘==’ and the value should be an empty string you generally get an error. We couldn't find a work around, so we ended up using a different program - cURL - https://curl.haxx.se/dlwiz/
So here's an example of the old CFHTTP code and the cURL replacement.
<!--- CFHTTP --->
<cfhttp method="get" url="#LABELURL#" path="D:\website" file="label_123.pdf" />
<a href="/label_123.pdf">Label CFHTTP</a>
<!--- CURL --->
<cfexecute name="D:\curl\curl.exe" arguments=" -v #labelUrl#" outputfile="D:\website\label_123_curl.pdf" timeout="25" errorVariable="errVar"></cfexecute>
<a href="/label_123_curl.pdf">Label CURL</a>