我想复制此功能:
curl -d "user=username&passwd=passwd&api_type=json" http://www.reddit.com/api/login/username我遇到过至少3个以间接方式提供此功能的库:http-conduit、network-http和curl。发出http请求的标准是什么库?我该如何使用它来发出这个post请求?
我应该指定我也想要读取响应。
发布于 2012-05-16 09:39:24
标准库是HTTP。它随Haskell平台一起提供。
HTTP包支持
中的客户端web编程。它允许您设置HTTP连接、传输请求和处理返回的响应,所有这些都可以在Haskell中轻松完成。它依赖于网络包来运行,但除此之外,实现都是用Haskell编写的。
提供了单次发起HTTP请求+接收响应的基础API。最重要的是,还提供了会话级抽象( BrowserAction monad);它负责处理持久连接、代理、状态(cookies)和身份验证凭据的管理,这些都是处理与web服务器的多步骤交互所需的。
流过的字节的表示可以通过使用类型类进行扩展,让您选择最适合您使用的请求和响应的表示。我们为您提供了一些预打包的常见实例(ByteString、String)。
如果HTTP包由于这样或那样的原因而不适合,那么正如您所指出的,有许多包在Hackage上,包括直接的curl绑定、各种高级绑定和专注于性能的绑定。
https://stackoverflow.com/questions/10609405
复制相似问题