Unicode C
Unicode C
Socket Convenience Method: BuildHttpGetRequest
See more Socket/SSL/TLS Examples
Demonstrates the BuildHttpGetRequest method.Chilkat Unicode C Downloads
#include <C_CkSocketW.h>
#include <C_CkHttpRequestW.h>
void ChilkatSample(void)
{
HCkSocketW socket;
const wchar_t *url;
const wchar_t *reqStr;
HCkHttpRequestW req;
// The BuildHttpGetRequest method is a convenience method for building
// an HTTP GET request. Normally, an application would use Chilkat's HTTP or REST API's
// for sending HTTP requests.
socket = CkSocketW_Create();
url = L"http://www.chilkatsoft.com/test.asp?x=123&y=456";
reqStr = CkSocketW_buildHttpGetRequest(socket,url);
wprintf(L"%s\n",reqStr);
wprintf(L"----\n");
// The result is:
// GET /test.asp?x=123&y=456 HTTP/1.1
// Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
// Connection: keep-alive
// User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
// Accept-Language: en-us,en;q=0.5
// Host: www.chilkatsoft.com
// The result is meant to look like a request from a browser.
// The same thing can be done using the Url and HttpRequest classes, but with more flexibility.
req = CkHttpRequestW_Create();
CkHttpRequestW_SetFromUrl(req,url);
reqStr = CkHttpRequestW_generateRequestText(req);
wprintf(L"%s\n",reqStr);
wprintf(L"----\n");
// The result is:
// GET /test.asp?x=123&y=456 HTTP/1.1
// Host: domain
// Add some headers..
CkHttpRequestW_AddHeader(req,L"Host",L"www.chilkatsoft.com");
CkHttpRequestW_AddHeader(req,L"Accept-Language",L"en-us,en;q=0.5");
CkHttpRequestW_AddHeader(req,L"Some-Other-Header",L"123456");
reqStr = CkHttpRequestW_generateRequestText(req);
wprintf(L"%s\n",reqStr);
// The result is now:
// GET /test.asp?x=123&y=456 HTTP/1.1
// Host: www.chilkatsoft.com
// Accept-Language: en-us,en;q=0.5
// Some-Other-Header: 123456
CkSocketW_Dispose(socket);
CkHttpRequestW_Dispose(req);
}