2

我想从 pokerplatforms 网页上抓取一些信息。

为此,我需要在 https 网页“www.name.com”上登录(发布)。但是信息被放置在一个子域“poker.name.com”上。登录效果很好,但是当我从子域 libcurl 获取站点时,会使用新的 cookie 建立一个新的连接 obv。然后我得到一个页面,提醒我必须登录。

现在我的问题是如何强制 libcurl 使用相同的连接或至少相同的 cookie 从子域获取页面。

编辑:不是我的问题的解决方案,但工作正常:我刚刚登录到子域。登录脚本也存在那里。

4

1 回答 1

4

当您为 libcurl 句柄启用 cookie 时,您可以在后续请求中重新使用该句柄,libcurl 将自动使用 cookie。

如果您坚持关闭句柄并创建新句柄,则CURLOPT_COOKIEJAR是将 cookie 保存到文件中的选项,然后CURLOPT_COOKIEFILE可以随后从此类文件中再次读取它们。或者,您可以使用 libcurl 的共享接口让多个句柄共享 cookie。

然后,为了“正确”地模仿这样的网站上的浏览器,您确实应该记录在手动会话期间发送和接收的 HTTP 标头,以便您可以确保您的程序使用与浏览器相同的 URL 和数据。

于 2012-09-26T21:03:48.270 回答