我使用CURLOPT_COOKIEJAR(curl库),我将cookie保存在一个文件中," cookie.txt"。我无法找到它的文件。它在哪里?我在项目文件夹中搜索,没有。
这是我的代码:
curl_easy_setopt(handle,CURLOPT_COOKIESESSION,1); // clean up session.
curl_easy_setopt(handle,CURLOPT_COOKIEJAR,"cookie.txt");
curl_easy_setopt(handle,CURLOPT_USERAGENT,userAgentMozilla); // set the user agent
curl_easy_setopt(handle,CURLOPT_URL,lien.toUtf8().constData()); // set the url
curl_easy_setopt(handle,CURLOPT_POSTFIELDSIZE,data.size()+4); // size of the request.
curl_easy_setopt(handle,CURLOPT_POSTFIELDS,ba); // aray of the POST request
res = curl_easy_perform(handle);
答案 0 :(得分:0)
当然你必须。
你可以试试这段代码:
CURLOPT_COOKIEJAR=>__DIR__."/cookie.txt",
或强>
CURLOPT_COOKIEJAR=>dirname(__FILE__)."/cookie.txt",
答案 1 :(得分:0)
不需要绝对路径。
正在清理cookie会话的CURLOPT_COOKIESESSION
似乎与CURLOPT_COOKIEJAR
冲突。这不会清理cookie会话,处理请求,然后将新cookie保存到您的文件中。但是,这将阻止在此请求中创建新的cookie会话。
正确的代码就是:
curl_easy_setopt(handle,CURLOPT_COOKIEJAR,"cookie.txt");
curl_easy_setopt(handle,CURLOPT_USERAGENT,userAgentMozilla); // set the user agent
curl_easy_setopt(handle,CURLOPT_URL,lien.toUtf8().constData()); // set the url
curl_easy_setopt(handle,CURLOPT_POSTFIELDSIZE,data.size()+4); // size of the request.
curl_easy_setopt(handle,CURLOPT_POSTFIELDS,ba); // aray of the POST request
res = curl_easy_perform(handle);