【发布时间】:2012-03-16 05:00:45
【问题描述】:
我正在尝试使用 HTTPS 从站点中抓取数据。我成功地使用 Network.HTTP.Conduit 发出基本请求(发布凭据等),但未能从响应标头(Set-Cookie)中提取 cookie 信息。看起来 http-conduit 有它的 own mechanism 用于处理 cookie,我无法理解。
Network.HTTP.Conduit.Browser 似乎可以自动处理 cookie(这对我来说很好),但由于缺少 documentation,我无法让它工作。
有更多处理 http-conduit 浏览器模块经验的人可以告诉我如何:
- 处理自签名证书(我设法在基本模块中使用managerCheckCerts 做到这一点)
- 在正文中发送带有 URL 编码参数的 POST 请求,不遵循任何重定向(我为此使用了基本模块中的 urlEncodedBody)
- 在简单的 GET 请求中使用 2. 步骤中的 cookie,并将响应读取为(惰性)ByteString(我会为此使用 httpLbs)
在我看来,与 Network.HTTP.Conduit 相比,Network.HTTP.Conduit.Browser 的抽象级别更适合我的应用程序,所以即使我可以使用手动处理 cookie,我也想进行切换后者。
【问题讨论】:
-
我在查找文档时也遇到了问题,看起来源代码有示例代码:github.com/exbb2/http-conduit-browser/blob/master/Network/HTTP/…
标签: haskell https web-scraping session-cookies http-conduit