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 Extension) 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 // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.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. $urlObj = new CkUrl(); $urlObj->ParseUrl($url); $url_scheme = 'https'; if ($urlObj->get_Ssl() == 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 CkDateTime(); $expTime->SetFromCurrentSystemTime(); $expTime->AddSeconds(3600); $expires = $expTime->getAsUnixTimeStr(false); print 'Expires = ' . $expires . "\n"; // Create the string to hash $sbToHash = new CkStringBuilder(); $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 CkStringBuilder(); $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. $http = new CkHttp(); $success = $http->Download($signedUrl,'c:/aaworkarea/sample.pdf'); if ($success == false) { print $http->lastErrorText() . "\n"; } else { print 'Success.' . "\n"; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.