Cookie 未保存在 cURL C++中,如此简单干净的代码示例将不起作用

Cookies not being saved in cURL C++, such a simple and clean code example won't work

本文关键字:代码 不起作用 简单 存在 保存 cURL C++ Cookie      更新时间:2023-10-16

为什么cookie不存储?我制作的本地网站有一个setcookie("test",time());在PHP中,它在浏览器中正常工作,但在cURL中,它就是不工作,我甚至不知道该尝试什么了,这是我通过修剪代码得到的最简单的方法,而且仍然不会将cookie保存在文件中。它甚至没有创建文件来保存它(顺便说一句,windows有权在根目录中添加任何文件,因为我一直在那里移动和创建文件),是的,网站示例设置了cookie。它怎么了?

内容输出是正确的,应该可以工作。但它就是不起作用。:/

提前谢谢。

#include <curl/curl.h>
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp) {
            ((std::string*)userp)->append((char*)contents, size * nmemb);
            return size * nmemb;
        }
int main () {
        CURL *curl2;
        CURLcode res;


        curl_global_init(CURL_GLOBAL_ALL);

       string url2 = "http://localhost/test.php";
       url2 = "http://www.facebook.com";
        curl2 = curl_easy_init();
        if(curl2) {
            string html2 = "";
            struct curl_slist *chunk = NULL;

        curl_easy_setopt(curl2, CURLOPT_URL, url2.c_str());     
        curl_easy_setopt(curl2, CURLOPT_COOKIEFILE, "C:\teste.txt");
        curl_easy_setopt(curl2, CURLOPT_COOKIEJAR, "C:\teste.txt");                
        curl_easy_setopt(curl2, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl2, CURLOPT_WRITEDATA, &html2);

        res = curl_easy_perform(curl2);
        std::cout << "RESULT: " << html2;
        }

        _getch();
        return 0;
}

记得调用curl_easy_cleanup(curl2)