C++
C++
URL-Encode a MIME Body
See more MIME Examples
Demonstrates the Chilkat Mime.UrlEncodeBody method, which replaces the current body with an application/x-www-form-urlencoded-style representation using the named charset. The only argument is the charset; it is a void method.
Background: This transforms the body into the form-encoding used by HTML form submissions — spaces to
+, reserved characters to percent-escapes — interpreting the text through the given charset first so non-ASCII characters encode correctly. It is a niche operation for constructing form-style payloads within a MIME part.Chilkat C++ Downloads
#include <CkMime.h>
void ChilkatSample(void)
{
bool success = false;
// Demonstrates the Mime.UrlEncodeBody method, which replaces the current body with an
// application/x-www-form-urlencoded representation using the named charset. The only argument is
// the charset. It is a void method.
CkMime mime;
success = mime.SetBodyFromPlainText("name=John Doe & city=New York");
if (success == false) {
std::cout << mime.lastErrorText() << "\r\n";
return;
}
// URL-encode the body: spaces become "+", reserved characters become %-escapes.
mime.UrlEncodeBody("utf-8");
const char *encodedBody = mime.getBodyDecoded();
if (mime.get_LastMethodSuccess() == false) {
std::cout << mime.lastErrorText() << "\r\n";
return;
}
std::cout << encodedBody << "\r\n";
}