Unicode C
Unicode C
HTTPS GET URL with URL Encoded Query Params
See more HTTP Examples
Creates a URL with URL encoded query params, and sends an HTTPS GET to the URL.Chilkat Unicode C Downloads
#include <C_CkStringBuilderW.h>
#include <C_CkHttpW.h>
void ChilkatSample(void)
{
BOOL success;
HCkStringBuilderW sbUrl;
HCkStringBuilderW sbValue;
HCkHttpW http;
const wchar_t *responseBody;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Create a URL with URL-encoded query params.
sbUrl = CkStringBuilderW_Create();
CkStringBuilderW_Append(sbUrl,L"https://www.example.com/something?");
// If we know a query param value does not have any special chars requiring URL encoding,
// just add it. In this case, there is no need to URL encode "123" because "123" url encoded is still just "123".
CkStringBuilderW_Append(sbUrl,L"abc=123&xyz=");
sbValue = CkStringBuilderW_Create();
CkStringBuilderW_Append(sbValue,L"this is a test");
CkStringBuilderW_Append(sbUrl,L"msg=");
CkStringBuilderW_Append(sbUrl,CkStringBuilderW_getEncoded(sbValue,L"url",L"utf-8"));
// sbUrl contains: https://www.example.com/something?abc=123&xyz=msg=this%20is%20a%20test
wprintf(L"%s\n",CkStringBuilderW_getAsString(sbUrl));
// Send the GET request and get the response body, which is assumed to be text of some sort (HTML, XML, JSON, etc.)
// (Chilkat automatically decompresses gzipped responses)
http = CkHttpW_Create();
responseBody = CkHttpW_quickGetStr(http,CkStringBuilderW_getAsString(sbUrl));
if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkStringBuilderW_Dispose(sbUrl);
CkStringBuilderW_Dispose(sbValue);
CkHttpW_Dispose(http);
return;
}
wprintf(L"Response Body:\n");
wprintf(L"%s\n",responseBody);
CkStringBuilderW_Dispose(sbUrl);
CkStringBuilderW_Dispose(sbValue);
CkHttpW_Dispose(http);
}