iOS 上的 libcurl + cookie

libcurl + cookies on iOS

我有一个小的 http C++ 库,它基本上是 libcurl 的薄包装。我正在使用这个库访问网站(例如登录,check/download 东西,比如发票等)。

在我最新的 iOS 项目中,我也在尝试使用这个 libcurl 包装器来访问网站(登录、阅读消息、发送消息,它基本上是一个信使应用程序)。但是,我无法开始工作的一件事是 cookies。我的预期行为是,我的 iOS 应用程序(libcurl,即)在登录网站后存储 cookie,这样应用程序就不需要在每次打开时都登录。

为此,我尝试将 CURLOPT_COOKIEFILECURLOPT_COOKIEJAR 选项设置为 libcurl 会话句柄。我的理解是,我应该将这些选项设置为相同的文件路径,以便 libcurl 能够加载和存储 cookie。

我将此路径设置为我的 iOS 沙箱文档目录的完整文件路径。
但是,似乎从未创建 cookie 文件,因此预期的行为不会起作用。

有什么特别需要考虑的吗,或者任何人都可以提示我可能做错了什么吗?

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

那应该行得通!您的应用是否有权访问那里的 read/write 个文件?启用 VERBOSE 模式并查看 libcurl 是否告诉您任何信息。请注意,在您关闭 easy handle 之前,libcurl 不会写入任何 cookie 文件。