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
(DataFlex) 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 ChilkatAx-win32.pkg Procedure Test Boolean iSuccess String sMySecurityKey String sUrl Handle hoUrlObj String sUrl_scheme String sUrl_host String sUrl_path Handle hoExpTime String sExpires Handle hoSbToHash String sToken Handle hoSbSignedUrl String sSignedUrl Handle hoHttp String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Move "e7ea8d73-8fa0-44ef-a2cc-91526f7df5ed" To sMySecurityKey Move "https://test.b-cdn.net/sample-pdf-with-images.pdf" To sUrl // Extract the URL components. Get Create (RefClass(cComChilkatUrl)) To hoUrlObj If (Not(IsComObjectCreated(hoUrlObj))) Begin Send CreateComObject of hoUrlObj End Get ComParseUrl Of hoUrlObj sUrl To iSuccess Move "https" To sUrl_scheme Get ComSsl Of hoUrlObj To bTemp1 If (bTemp1 = False) Begin Move "http" To sUrl_scheme End Get ComHost Of hoUrlObj To sUrl_host Get ComPath Of hoUrlObj To sUrl_path // Calculate an expiration time 1 hour from the current date/time. Get Create (RefClass(cComCkDateTime)) To hoExpTime If (Not(IsComObjectCreated(hoExpTime))) Begin Send CreateComObject of hoExpTime End Get ComSetFromCurrentSystemTime Of hoExpTime To iSuccess Get ComAddSeconds Of hoExpTime 3600 To iSuccess Get ComGetAsUnixTimeStr Of hoExpTime False To sExpires Showln "Expires = " sExpires // Create the string to hash Get Create (RefClass(cComChilkatStringBuilder)) To hoSbToHash If (Not(IsComObjectCreated(hoSbToHash))) Begin Send CreateComObject of hoSbToHash End Get ComAppend Of hoSbToHash sMySecurityKey To iSuccess Get ComAppend Of hoSbToHash sUrl_path To iSuccess Get ComAppend Of hoSbToHash sExpires To iSuccess // Base64Url encoding is the same as base64, except "-" is used instead of "+", // "_" is used instead of "/", and no "=" padding is added. Get ComGetHash Of hoSbToHash "sha256" "base64Url" "utf-8" To sToken Get Create (RefClass(cComChilkatStringBuilder)) To hoSbSignedUrl If (Not(IsComObjectCreated(hoSbSignedUrl))) Begin Send CreateComObject of hoSbSignedUrl End Get ComAppend Of hoSbSignedUrl sUrl_scheme To iSuccess Get ComAppend Of hoSbSignedUrl "://" To iSuccess Get ComAppend Of hoSbSignedUrl sUrl_host To iSuccess Get ComAppend Of hoSbSignedUrl sUrl_path To iSuccess Get ComAppend Of hoSbSignedUrl "?token=" To iSuccess Get ComAppend Of hoSbSignedUrl sToken To iSuccess Get ComAppend Of hoSbSignedUrl "&expires=" To iSuccess Get ComAppend Of hoSbSignedUrl sExpires To iSuccess Get ComGetAsString Of hoSbSignedUrl To sSignedUrl Showln "Signed URL: " sSignedUrl // Use the signed URL to download the file. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Get ComDownload Of hoHttp sSignedUrl "c:/aaworkarea/sample.pdf" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 End Else Begin Showln "Success." End End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.