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
(PHP ActiveX) 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
<?php // 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. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Url') $urlObj = new COM("Chilkat.Url"); $urlObj->ParseUrl($url); $url_scheme = 'https'; if ($urlObj->Ssl == 0) { $url_scheme = 'http'; } $url_host = $urlObj->Host; $url_path = $urlObj->Path; // Calculate an expiration time 1 hour from the current date/time. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.CkDateTime') $expTime = new COM("Chilkat.CkDateTime"); $expTime->SetFromCurrentSystemTime(); $expTime->AddSeconds(3600); $expires = $expTime->getAsUnixTimeStr(0); print 'Expires = ' . $expires . "\n"; // Create the string to hash // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder') $sbToHash = new COM("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'); // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder') $sbSignedUrl = new COM("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(); print 'Signed URL: ' . $signedUrl . "\n"; // Use the signed URL to download the file. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Http') $http = new COM("Chilkat.Http"); $success = $http->Download($signedUrl,'c:/aaworkarea/sample.pdf'); if ($success == 0) { print $http->LastErrorText . "\n"; } else { print 'Success.' . "\n"; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.