Question

I would like to send an http post request in c++. It seems like libcurl (Curlpp) is the way to go.

Now, here is a typical request that am sending

http://abc.com:3456/handler1/start?<name-Value pairs>

The name values pairs will have:

field1: ABC
field2: b, c, d, e, f
field3: XYZ

etc.

Now, I would like to know how to achieve the same using curlpp or libcurl. Code snippets will really help.

Was it helpful?

Solution

Don't have experience with Curlpp but this is how I did it with libcurl.

You can set your target url using

curl_easy_setopt(m_CurlPtr, CURLOPT_URL, "http://urlhere.com/");

POST values are stored in a linked list -- you should have two variables to hold the begin and the end of that list so that cURL can add a value to it.

struct curl_httppost* beginPostList;
struct curl_httppost* endPostList;

You can then add this post variable using

curl_formadd(&beginPostList, &endPostList, CURLFORM_COPYNAME, "key", CURLFORM_COPYCONTENTS, "value", CURLFORM_END);

Submitting then works like this

curl_easy_setopt(m_CurlPtr, CURLOPT_POST, true);
curl_easy_setopt(m_CurlPtr, CURLOPT_HTTPPOST, beginPostList); 
curl_easy_perform(m_CurlPtr);

Hope this helps!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top