使用参数发出简单的发布请求并接收响应

时间:2012-05-15 21:57:52

标签: http networking haskell

我想复制此功能:

curl -d "user=username&passwd=passwd&api_type=json" http://www.reddit.com/api/login/username

我遇到了至少3个以迂回方式提供此功能的库:http-conduitnetwork-httpcurl。什么库是制作http请求的标准,我将如何使用它来发出此帖子请求?

我应该指明我也想阅读回复。

1 个答案:

答案 0 :(得分:2)

标准库是HTTP。它随Haskell平台一起提供。

  

HTTP包支持Haskell中的客户端Web编程。它   允许您设置HTTP连接,传输请求和处理   所有回复都来自Haskell的舒适。   它取决于网络包的运行,但除此之外,   实现全部用Haskell编写。

     

发布单个HTTP请求+接收响应的基本API是   提供。最重要的是,还提供了会话级抽象   (BrowserAction monad);它负责处理管理   持久连接,代理,状态(cookie)和身份验证   处理与Web的多步交互所需的凭据   服务器

     

流过的字节表示可以通过   使用类型类,让您选择请求的表示   和最适合您使用的回复。一些预包装,常见   为您提供实例(ByteString,String。)

如果HTTP包不适合某种原因,正如您所指出的,Hackage上有许多包,包括直接卷曲绑定,各种高级绑定以及专注于性能的绑定。