AutoIt
AutoIt
Bunny Sign URL and then Download using Signed URL
See more Bunny CDN Examples
Shows how to sign a URL for BunnyCDN Token Authentication and then use it to download.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
Local $sMySecurityKey = "e7ea8d73-8fa0-44ef-a2cc-91526f7df5ed"
Local $sUrl = "https://test.b-cdn.net/sample-pdf-with-images.pdf"
; Extract the URL components.
$oUrlObj = ObjCreate("Chilkat.Url")
$oUrlObj.ParseUrl($sUrl)
Local $sUrl_scheme = "https"
If ($oUrlObj.Ssl = False) Then
$sUrl_scheme = "http"
EndIf
Local $sUrl_host = $oUrlObj.Host
Local $sUrl_path = $oUrlObj.Path
; Calculate an expiration time 1 hour from the current date/time.
$oExpTime = ObjCreate("Chilkat.CkDateTime")
$oExpTime.SetFromCurrentSystemTime()
$oExpTime.AddSeconds(3600)
Local $sExpires = $oExpTime.GetAsUnixTimeStr(False)
ConsoleWrite("Expires = " & $sExpires & @CRLF)
; Create the string to hash
$oSbToHash = ObjCreate("Chilkat.StringBuilder")
$oSbToHash.Append($sMySecurityKey)
$oSbToHash.Append($sUrl_path)
$oSbToHash.Append($sExpires)
; Base64Url encoding is the same as base64, except "-" is used instead of "+",
; "_" is used instead of "/", and no "=" padding is added.
Local $sToken = $oSbToHash.GetHash("sha256","base64Url","utf-8")
$oSbSignedUrl = ObjCreate("Chilkat.StringBuilder")
$oSbSignedUrl.Append($sUrl_scheme)
$oSbSignedUrl.Append("://")
$oSbSignedUrl.Append($sUrl_host)
$oSbSignedUrl.Append($sUrl_path)
$oSbSignedUrl.Append("?token=")
$oSbSignedUrl.Append($sToken)
$oSbSignedUrl.Append("&expires=")
$oSbSignedUrl.Append($sExpires)
Local $signedUrl = $oSbSignedUrl.GetAsString()
ConsoleWrite("Signed URL: " & $signedUrl & @CRLF)
; Use the signed URL to download the file.
$oHttp = ObjCreate("Chilkat.Http")
$bSuccess = $oHttp.Download($signedUrl,"c:/aaworkarea/sample.pdf")
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Else
ConsoleWrite("Success." & @CRLF)
EndIf