2016-02-19 168 views
0

我有一個小的http C++ lib,它基本上是一個圍繞libcurl的薄包裝。我使用這個庫訪問網站(例如登錄,檢查/下載東西,如發票等)。在我最近的iOS項目中,我也試圖使用這個libcurl包裝來訪問一個網站(登錄,閱讀消息,發送消息,其基本上是一個消息應用程序)。然而,我無法工作的一件事是cookies。我的預期行爲是,我的iOS應用程序(即libcurl)在登錄到網站後存儲cookie,以便應用程序無需在每次打開應用程序時都登錄。iOS上的libcurl + cookie

爲了達到這個目的,我嘗試將CURLOPT_COOKIEFILECURLOPT_COOKIEJAR選項設置爲libcurl會話句柄。我的理解是,我應該將這些選項設置爲相同的文件路徑,以便libcurl能夠加載和存儲Cookie。

我將此路徑設置爲我的iOS沙盒文檔目錄的完整文件路徑。
但是,似乎cookie文件從不創建,因此預期的行爲將不起作用。

是否有什麼特別的考慮,或者任何人都可以給我提示我可能做錯了什麼?

我使用這個版本的libcurl在iOS上:https://github.com/sinofool/build-libcurl-ios

+1

應該工作。你的應用程序是否有權讀取/寫入文件?啓用VERBOSE模式並查看libcurl是否告訴你任何事情。請注意,在關閉簡單句柄之前,libcurl不會寫入任何cookie文件。 –

+0

是的,應用程序有權限,我也下載/保存圖像在同一目錄中。 也許結束會是一個問題,虐待檢查。 – user826955

+0

似乎工作。我明確地關閉句柄和app關機/背景,現在寫入cookie文件。它也重新打開,並在重新啓動後重復使用:) 如果您將答案添加爲回覆,我可以接受它。 – user826955

回答

1

這應該只是工作!你的應用程序是否有權讀取/寫入文件?啓用VERBOSE模式並查看libcurl是否告訴你任何事情。請注意,在關閉簡單句柄之前,libcurl不會寫入任何cookie文件。

+0

謝謝,工作:) – user826955