Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) How to Avoid Large Strings in HTTP ResponsesIn some programming languages/environments, returning and passing large strings is problematic for both performance and other reasons (for example, with SQL Server limitations on sizes varchar variables). One way of avoiding the need to return the actual string data, is to pass the data from one place to another via a Chilkat StringBuilder or BinData object. This example demonstrates a simple HTTP GET where the response body contains XML approximately 274K in size. The response body is loaded into the Chilkat.Xml without the XML content ever needing to leave the native code internal to Chilkat. Note: This example requires Chilkat v9.5.0.64 or greater.
#include <CkHttp.h> #include <CkHttpResponse.h> #include <CkStringBuilder.h> #include <CkXml.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttp http; CkHttpResponse *resp = http.QuickGetObj("https://www.chilkatsoft.com/hamlet.xml"); if (http.get_LastMethodSuccess() != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkStringBuilder sb; // Copy the response body to sb. bool success = resp->GetBodySb(sb); CkXml xml; // Load the XML from the sb. bool bAutoTrim = false; success = xml.LoadSb(sb,bAutoTrim); strOut.append("The response body was "); strOut.appendInt(sb.get_Length()); strOut.append(" characters in length."); strOut.append("\r\n"); strOut.append("Success."); strOut.append("\r\n"); // The output is: // // The response body was 279658 characters in length. // Success. SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.