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) Initialize an HTTP Request from a URLDemonstrates how to initialize an HTTP request object from a URL.
#include <CkHttpRequest.h> void ChilkatSample(void) { CkString strOut; CkHttpRequest req; // Loads the HTTP request object from a URL req.SetFromUrl("https://www.youtube.com/watch?v=fAZdTchQePc&t=45s"); // The verb will be "GET" strOut.append("verb = "); strOut.append(req.httpVerb()); strOut.append("\r\n"); // The path will be "/watch" strOut.append("path = "); strOut.append(req.path()); strOut.append("\r\n"); // The output of this loop will be // 0) v: fAZdTchQePc // 1) t: 45s int i; int numParams = req.get_NumParams(); for (i = 0; i <= numParams - 1; i++) { strOut.appendInt(i); strOut.append(") "); strOut.append(req.getParamName(i)); strOut.append(": "); strOut.append(req.getParamValue(i)); strOut.append("\r\n"); } // View the request that would be sent if SynchronousRequest is called. // The HTTP request will be a GET that looks like this: // // GET /watch?v=fAZdTchQePc&t=45s HTTP/1.1 // Host: domain // // Note: The HOST header will automatically get filled in with the actual domain when SynchronousRequest is called. strOut.append(req.generateRequestText()); strOut.append("\r\n"); // We can add additional params req.AddParam("artist","Richard Bona"); req.AddParam("musicType","Jazz"); req.AddParam("festival","Estival Jazz Lugano"); req.AddParam("year","2008"); // Now examine the request that would be sent // // GET /watch?v=fAZdTchQePc&t=45s&artist=Richard%20Bona&musicType=Jazz&festival=Estival%20Jazz%20Lugano&year=2008 HTTP/1.1 // Host: domain // strOut.append(req.generateRequestText()); strOut.append("\r\n"); // We can remove a parameter: req.RemoveParam("t"); strOut.append(req.generateRequestText()); strOut.append("\r\n"); // What happens if we change the request from a GET to a POST? req.put_HttpVerb("POST"); // The request will now look like this: // // POST /watch HTTP/1.1 // Host: domain // Content-Length: 93 // // v=fAZdTchQePc&artist=Richard%20Bona&musicType=Jazz&festival=Estival%20Jazz%20Lugano&year=2008 // strOut.append(req.generateRequestText()); strOut.append("\r\n"); // What happens if we make it a multipart/form-data? req.put_ContentType("multipart/form-data"); // Now the POST looks like this: // // POST /watch HTTP/1.1 // Content-Type: multipart/form-data; boundary=------------020906020106050705030807 // Host: domain // Content-Length: 545 // // --------------020906020106050705030807 // Content-Disposition: form-data; name="v" // // fAZdTchQePc // --------------020906020106050705030807 // Content-Disposition: form-data; name="artist" // // Richard Bona // --------------020906020106050705030807 // Content-Disposition: form-data; name="musicType" // // Jazz // --------------020906020106050705030807 // Content-Disposition: form-data; name="festival" // // Estival Jazz Lugano // --------------020906020106050705030807 // Content-Disposition: form-data; name="year" // // 2008 // --------------020906020106050705030807-- strOut.append(req.generateRequestText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.