我想复制此功能:
curl -d "user=username&passwd=passwd&api_type=json" http://www.reddit.com/api/login/username
我遇到了至少3个以迂回方式提供此功能的库:http-conduit
,network-http
和curl
。什么库是制作http请求的标准,我将如何使用它来发出此帖子请求?
我应该指明我也想阅读回复。
答案 0 :(得分:2)
标准库是HTTP。它随Haskell平台一起提供。
HTTP包支持Haskell中的客户端Web编程。它 允许您设置HTTP连接,传输请求和处理 所有回复都来自Haskell的舒适。 它取决于网络包的运行,但除此之外, 实现全部用Haskell编写。
发布单个HTTP请求+接收响应的基本API是 提供。最重要的是,还提供了会话级抽象 (BrowserAction monad);它负责处理管理 持久连接,代理,状态(cookie)和身份验证 处理与Web的多步交互所需的凭据 服务器
流过的字节表示可以通过 使用类型类,让您选择请求的表示 和最适合您使用的回复。一些预包装,常见 为您提供实例(ByteString,String。)
如果HTTP包不适合某种原因,正如您所指出的,Hackage上有许多包,包括直接卷曲绑定,各种高级绑定以及专注于性能的绑定。