Как правильно отправлять данные через POSTFIELDS с помощью CURL?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как правильно отправлять данные через POSTFIELDS с помощью CURL?

Сообщение Anonymous »

Как правильно отправлять данные через POSTFIELDS с помощью CURL?
Если написать тот же код на Python, то он будет работать и сайт выдает ответ 200, а на C++ выдает ответ 400. Как я понял, проблема в постполях, хотя могу ошибаться

Код: Выделить всё

#include 
#include 

size_t writeCallback(void* contents, size_t size, size_t nmemb, std::string* data) {
data->append((char*)contents, size * nmemb);
return size * nmemb;
}

int main() {
setlocale(LC_CTYPE, "ru_RU.UTF-8");
curl_global_init(CURL_GLOBAL_ALL);

CURL* curl;
CURLcode res;

std::string text;

struct curl_slist* list = NULL;
list = curl_slist_append(list, "X-Requested-With: XMLHttpRequest");
list = curl_slist_append(list, "Cookie: __ddg2_=0");

curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");

curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &text);

curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);

res = curl_easy_perform(curl);
if (res != CURLE_OK)
return 1;

std::string token = text.erase(0, text.find("

Подробнее здесь: [url]https://stackoverflow.com/questions/78540170/how-to-properly-send-data-via-postfields-using-curl[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»