Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) Bunny Sign URL and then Download using Signed URLSee more Bunny CDN ExamplesShows how to sign a URL for BunnyCDN Token Authentication and then use it to download. For more information, see https://support.bunny.net/hc/en-us/articles/360016055099-How-to-sign-URLs-for-BunnyCDN-Token-Authentication
use chilkat(); # 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 = chilkat::CkUrl->new(); $urlObj->ParseUrl($url); $url_scheme = "https"; if ($urlObj->get_Ssl() == 0) { $url_scheme = "http"; } $url_host = $urlObj->host(); $url_path = $urlObj->path(); # Calculate an expiration time 1 hour from the current date/time. $expTime = chilkat::CkDateTime->new(); $expTime->SetFromCurrentSystemTime(); $expTime->AddSeconds(3600); $expires = $expTime->getAsUnixTimeStr(0); print "Expires = " . $expires . "\r\n"; # Create the string to hash $sbToHash = chilkat::CkStringBuilder->new(); $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 = chilkat::CkStringBuilder->new(); $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(); print "Signed URL: " . $signedUrl . "\r\n"; # Use the signed URL to download the file. $http = chilkat::CkHttp->new(); $success = $http->Download($signedUrl,"c:/aaworkarea/sample.pdf"); if ($success == 0) { print $http->lastErrorText() . "\r\n"; } else { print "Success." . "\r\n"; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.