C ++ - Как отправить запрос HTTP Post с использованием CURLPP или Libcurl

StackOverflow https://stackoverflow.com/questions/3634251

  •  30-09-2019
  •  | 
  •  

Вопрос

Я хотел бы отправить запрос HTTP POST в C ++. Похоже, libcurl (curlpp) - это путь.

Теперь, вот типичный запрос, который я посылаю

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.

Теперь я хотел бы знать, как достичь то же самое, используя Curlpp или libcurl. Кодовые фрагменты действительно помогут.

Это было полезно?

Решение

Нет опыта с Curlpp, но это то, как я сделал это с libcurl.

Вы можете установить свой целевой URL-адрес, используя

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

Значения Post хранятся в связанном списке - у вас должны быть две переменные, чтобы удерживать начало и конец этого списка, чтобы Curl мог добавить его значение.

struct curl_httppost* beginPostList;
struct curl_httppost* endPostList;

Затем вы можете добавить эту переменную пост, используя

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

Отправка тогда работает так

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

Надеюсь это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top