2016-03-03 53 views
1

我試着用tu函數在C++中使用curl。 實施例:在C++中使用CURL函數

​​

在主函數調用我或myFunction1 myFunction2;

我不知道用這種方式使用libcurl是否正確,但是我遇到了問題。 我用這個在我的網站登錄,所以我保存的Cookie絲毫驗證碼:

curl_easy_setopt(curl, CURLOPT_COOKIEFILE, cookiePath); 
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, cookiePath); 
int main(){ 
curl_global_init(CURL_GLOBAL_ALL); 
myFunction1(); 
myFunction2(); 
curl_global_cleanup(); 
} 

假設我登錄,並保存在myFunction1餅乾。 當我嘗試在myFunction2中設置時,它在CURLOPT_COOKIEFILE行上崩潰。 我不知道爲什麼cookie會保存在文件中,但是當我運行它在該行上崩潰的程序時,不能使用它。

對不起,我的英語 感謝的

+2

你可以在'curl_global_init'被調用的地方發佈你的'main()'函數嗎? – callyalater

+0

你看過['CURLOPT_COOKIEFILE'](https://curl.haxx.se/libcurl/c/CURLOPT_COOKIEFILE.html)選項參考嗎? – callyalater

+0

我沒有使用curl_global_init,是否有必要? – Vincy6

回答

0

我的問題的原因是,當我使用curl_easy_cleanup(捲曲),然後curl_easy_init我改變的SessionID,所以我已保存cookie的不再是不錯的。所以我使用第一個curl_easy_init,然後在我的函數中完成所有請求,並在我的程序結束時使用curl_easy_cleanup。要清理CURL OPTION,您可以使用:curl_easy_reset()。我已經爲可能有同樣問題的人更新了這篇文章。