Clark,
I do remember battling this one for a little while one day -- granted I am
using Railo but it should work no problem in Adobe CF as well. Here is the
code from my CFC which pulls data from Amazon's Alexa:
You will also notice I am using a hash function custom tag which Amazon wants
as well. You would want to put your key and secret key in below...
<cfset var digest = "">
<cfset var signature = "">
<cfset var amazon = "">
<cfset var actionName = "UrlInfo">
<cfset var key="xxxxxxxxxxxxxx">
<cfset var secretkey="xxxxxxxxxxxxx">
<cfset var dateTimeString = GetHTTPTimeString(Now())>
<cfset setTimezone("Etc/GMT+0")>
<cfset var Timestamp = DateFormat(dateTimeString, "yyyy-mm-dd") & "T" &
lsTimeFormat(dateTimeString, "HH:mm:ss") & ".000Z">
<cf_hmac data="#actionName##Timestamp#" key="#secretkey#" hash_function="sha1" >
<cfset signature = ToBase64(Binarydecode("#digest#","hex"))>
<cfset var AmazonURL =
"http://awis.amazonaws.com/?AWSAccessKeyId=#key#&Timestamp=#URLEncodedFormat(timestamp)#&Signature=#signature#&Version=2005-07-11&Action=#actionName#&ResponseGroup=RankByCity,TrafficData,OwnedDomains,LinksInCount&Url=#arguments.siteURL#">
<cfhttp method="get" url="#AmazonURL#" result="amazon">
<cfhttpparam type="Header" name="TE" value="deflate;q=0">
<cfhttpparam type="header" name="Accept-Encoding" value="*" />
<cfhttpparam type="header" name="Accept"
value="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5">
<cfhttpparam type="header" name="Accept-Language"
value="en-us,en;q=0.5">
</cfhttp>
Regards,
Jeremy
------------------------------------------
Strategic Growth Services, LLC
Jeremy Bruck
[email protected]
770-953-8643 x103
770-916-1434: fax
On Jul 29, 2010, at 4:58 PM, Clarke Bishop wrote:
> I have a date string like this 2010-07-29T20:45:33.517Z that I am
> trying to submit to Amazon’s web service.
>
> It needs to be URL Encoded, so I am submitting with this code:
> <cfhttpparam type="URL" name="Timestamp" value='#Timestamp#'>
>
> Coldfusion 8 encodes this to: 2010%2D07%2D29T20%3A45%3A33%2E517Z
>
> But when I submit the same string via
> http://www.w3schools.com/TAGS/ref_urlencode.asp I sends back
> 2010-07-29T20%3A45%3A33.517Z
>
> So ColdFusion is encoding the “.” and the “-“, but W3C isn’t. These are
> actually both valid in a URL. Of course, both correct encode the “:”.
>
> I wouldn’t care except the Amazon web service is throwing an error saying I
> need to use a valid ISO 8601 date.
>
> Has anyone run into a problem like this before? Is there a trick?
>
> Thank,
>
> Clarke
>
>
> Office: 770-642-1353
> eMail: [email protected]
>
>
>
> -------------------------------------------------------------
> To unsubscribe from this list, manage your profile @
> http://www.acfug.org?fa=login.edituserform
>
> For more info, see http://www.acfug.org/mailinglists
> Archive @ http://www.mail-archive.com/discussion%40acfug.org/
> List hosted by FusionLink
> -------------------------------------------------------------