Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Cookies未保存在cURL C++;,这样一个简单明了的代码示例赢得了';行不通_C++_Curl_Libcurl - Fatal编程技术网

C++ Cookies未保存在cURL C++;,这样一个简单明了的代码示例赢得了';行不通

C++ Cookies未保存在cURL C++;,这样一个简单明了的代码示例赢得了';行不通,c++,curl,libcurl,C++,Curl,Libcurl,为什么饼干不能储存?我制作的本地网站有一个setcookie(“test”,time());在PHP中,它在浏览器中正常工作,但在cURL中,它就是不工作,我甚至不知道再尝试什么,这是我通过裁剪代码得到的最简单的方法,而且仍然不将cookies保存在文件中。它甚至不创建文件来保存它(顺便说一句,windows有权在根目录中添加任何文件,因为我一直在那里移动和创建文件),是的,站点示例设置cookies。怎么了 内容输出是正确的,应该可以正常工作。但它就是不起作用/ 提前谢谢 #include &

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

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

提前谢谢

#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;
}
#包括
#包括
#包括
#包括
使用名称空间std;
静态大小写回(void*contents、size\t size、size\t nmemb、void*userp){
((std::string*)userp)->追加((char*)内容,大小*nmemb);
返回大小*nmemb;
}
int main(){
卷曲*卷曲2;
卷曲编码;
curl\u global\u init(curl\u global\u ALL);
字符串url2=”http://localhost/test.php";
url2=”http://www.facebook.com";
curl2=curl_easy_init();
如果(2){
字符串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\u easy\u setopt(curl2,CURLOPT\u WRITEFUNCTION,WriteCallback);
curl_easy_setopt(curl2、CURLOPT_WRITEDATA和html2);
res=卷曲,易于执行(卷曲2);

std::cout记住调用
curl\u easy\u cleanup(curl2)

尝试添加curl\u easy\u setopt(curl,CURLOPT\u VERBOSE,1L);检查HTTP请求/响应和curl\u easy\u cleanup(curl2);然后返回。它在标题中正确。标题中写着“Set Cookie:test=13255451645”页面在浏览器中正常工作,它正常设置和显示cookie。哦,天哪,我真不敢相信这解决了我的问题。经过一整天的尝试,谢谢你,我不知道这有这么重要。谢谢!