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 
> -------------------------------------------------------------

Reply via email to