为什么不存储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;
}
答案 0 :(得分:1)
请记得致电curl_easy_cleanup(curl2)