PowerShell
PowerShell
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 PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$mySecurityKey = "e7ea8d73-8fa0-44ef-a2cc-91526f7df5ed"
$url = "https://test.b-cdn.net/sample-pdf-with-images.pdf"
# Extract the URL components.
$urlObj = New-Object Chilkat.Url
$urlObj.ParseUrl($url)
$url_scheme = "https"
if ($urlObj.Ssl -eq $false) {
$url_scheme = "http"
}
$url_host = $urlObj.Host
$url_path = $urlObj.Path
# Calculate an expiration time 1 hour from the current date/time.
$expTime = New-Object Chilkat.CkDateTime
$expTime.SetFromCurrentSystemTime()
$expTime.AddSeconds(3600)
$expires = $expTime.GetAsUnixTimeStr($false)
$("Expires = " + $expires)
# Create the string to hash
$sbToHash = New-Object Chilkat.StringBuilder
$sbToHash.Append($mySecurityKey)
$sbToHash.Append($url_path)
$sbToHash.Append($expires)
# Base64Url encoding is the same as base64, except "-" is used instead of "+",
# "_" is used instead of "/", and no "=" padding is added.
$token = $sbToHash.GetHash("sha256","base64Url","utf-8")
$sbSignedUrl = New-Object Chilkat.StringBuilder
$sbSignedUrl.Append($url_scheme)
$sbSignedUrl.Append("://")
$sbSignedUrl.Append($url_host)
$sbSignedUrl.Append($url_path)
$sbSignedUrl.Append("?token=")
$sbSignedUrl.Append($token)
$sbSignedUrl.Append("&expires=")
$sbSignedUrl.Append($expires)
$signedUrl = $sbSignedUrl.GetAsString()
$("Signed URL: " + $signedUrl)
# Use the signed URL to download the file.
$http = New-Object Chilkat.Http
$success = $http.Download($signedUrl,"c:/aaworkarea/sample.pdf")
if ($success -eq $false) {
$($http.LastErrorText)
}
else {
$("Success.")
}