C
C
HTTP GET with utf-8 URL Encoded Query Params
See more HTTP Examples
Demonstrates how to build URLs where query param values can be either URL encoded from the utf-8 representation, or from another charset such as windows-1252.Note: This example uses the new DecodeAndAppend method added in Chilkat v9.5.0.87.
Chilkat C Downloads
#include <C_CkStringBuilder.h>
#include <C_CkHttp.h>
void ChilkatSample(void)
{
BOOL success;
const char *nameWindows1252UrlEncoded;
HCkStringBuilder sb1;
HCkHttp http;
HCkStringBuilder sbUrl;
const char *responseBody;
success = FALSE;
// We have the string "MÆRSK".
// This is the URL encoding of the windows-1252 representation.
nameWindows1252UrlEncoded = "M%C6RSK";
sb1 = CkStringBuilder_Create();
success = CkStringBuilder_DecodeAndAppend(sb1,nameWindows1252UrlEncoded,"url","windows-1252");
http = CkHttp_Create();
// Here's how to send an HTTP GET where the param is the utf-8 representation that is URL encoded.
// For example: https://www.chilkatsoft.com/something?name=M%C3%A6RSK
sbUrl = CkStringBuilder_Create();
CkStringBuilder_Append(sbUrl,"https://www.chilkatsoft.com/something?name=");
CkStringBuilder_Append(sbUrl,CkStringBuilder_getEncoded(sb1,"url","utf-8"));
printf("%s\n",CkStringBuilder_getAsString(sbUrl));
responseBody = CkHttp_quickGetStr(http,CkStringBuilder_getAsString(sbUrl));
// Here's how to send an HTTP GET where the param is the windows-1252 representation that is URL encoded.
// For example: https://www.chilkatsoft.com/something?name=M%E6RSK
CkStringBuilder_Clear(sbUrl);
CkStringBuilder_Append(sbUrl,"https://www.chilkatsoft.com/something?name=");
CkStringBuilder_Append(sbUrl,CkStringBuilder_getEncoded(sb1,"url","windows-1252"));
printf("%s\n",CkStringBuilder_getAsString(sbUrl));
responseBody = CkHttp_quickGetStr(http,CkStringBuilder_getAsString(sbUrl));
CkStringBuilder_Dispose(sb1);
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbUrl);
}