![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Http Follow RedirectsSee more HTTP ExamplesDemonstrates how to automatically follow redirects.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; url: PWideChar; jsonResponse: PWideChar; begin http := CkHttp_Create(); // If you would like to see the HTTP session log to see how // HTTP redirects were followed. CkHttp_putSessionLogFilename(http,'c:/temp/qa_output/sessionLog.txt'); // Run the test using this URL. // (Works while httpbin.org keeps the test endpoint available.) url := 'https://httpbin.org/redirect-to?url={$redirectUrl}&status_code={$statusCode}'; CkHttp_SetUrlVar(http,'redirectUrl','https://chilkatsoft.com/helloWorld.json'); CkHttp_SetUrlVar(http,'statusCode','302'); jsonResponse := CkHttp__quickGetStr(http,url); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add('Response status code: ' + IntToStr(CkHttp_getLastStatus(http))); Memo1.Lines.Add(jsonResponse); // How to tell if the request was redirected, and if so, // what was the final redirect URL? Memo1.Lines.Add('Was Redirected: ' + IntToStr(Ord(CkHttp_getWasRedirected(http)))); Memo1.Lines.Add('Final Redirect URL: ' + CkHttp__finalRedirectUrl(http)); // Output: // Response status code: 200 // { "hello": "world" } // Was Redirected: True // Final Redirect URL: https://chilkatsoft.com/helloWorld.json // ----------------------------------------------- // Here are the contents of the sessionLog.txt // ---- Sending Sat, 30 Aug 2025 11:41:37 GMT ---- // GET /redirect-to?url=https%3A%2F%2Fchilkatsoft.com%2FhelloWorld.json&status_code=302 HTTP/1.1 // Host: httpbin.org // Accept: */* // Accept-Encoding: gzip // // // ---- Received Sat, 30 Aug 2025 11:41:37 GMT ---- // HTTP/1.1 302 FOUND // Date: Sat, 30 Aug 2025 11:41:38 GMT // Content-Type: text/html; charset=utf-8 // Content-Length: 0 // Connection: keep-alive // Server: gunicorn/19.9.0 // Location: https://chilkatsoft.com/helloWorld.json // Access-Control-Allow-Origin: * // Access-Control-Allow-Credentials: true // // // ---- Sending Sat, 30 Aug 2025 11:41:38 GMT ---- // GET /helloWorld.json HTTP/1.1 // Host: chilkatsoft.com // Accept: */* // Accept-Encoding: gzip // // // ---- Received Sat, 30 Aug 2025 11:41:38 GMT ---- // HTTP/1.1 200 OK // Content-Type: application/json // Last-Modified: Sun, 20 Aug 2023 11:36:27 GMT // Accept-Ranges: bytes // ETag: "34c27f8e5ad3d91:0" // Server: Microsoft-IIS/10.0 // X-Powered-By: ASP.NET // Date: Sat, 30 Aug 2025 11:41:38 GMT // Content-Length: 22 // // { "hello": "world" } CkHttp_Dispose(http); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.