2

この機能を複製したい:

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

ラウンドアバウトの方法でこの機能を提供する少なくとも3つのライブラリに出くわしました:http-conduit、、。httpリクエストを行うための標準はどのライブラリであり、この投稿リクエストを行うためにどのように使用しますか?network-httpcurl

応答も読みたいことを指定する必要があります。

4

1 に答える 1

2

標準ライブラリはHTTPです。Haskell プラットフォームに同梱されています。

HTTP パッケージは、Haskell でのクライアント側 Web プログラミングをサポートします。HTTP 接続のセットアップ、リクエストの送信、返されたレスポンスの処理をすべて、快適な Haskell 内から行うことができます。動作はネットワークパッケージに依存しますが、それ以外はすべてHaskellで実装しています。

1 つの HTTP リクエストを発行し、レスポンスを受信するための基本的な API が提供されます。その上、セッションレベルの抽象化も提供されています (BrowserAction モナド)。Web サーバーとの複数ステップの対話を処理するために必要な永続的な接続、プロキシ、状態 (Cookie)、および認証資格情報の管理を処理します。

バイト フローの表現は、型クラスを使用して拡張可能であり、用途に最適な要求と応答の表現を選択できます。事前にパッケージ化された一般的なインスタンスがいくつか用意されています (ByteString、String)。

HTTP パッケージが何らかの理由で適切でない場合、Hackage には、ご指摘のとおり、ダイレクト カール バインディング、さまざまな高レベル バインディング、パフォーマンスに重点を置いたバインディングなど、多くのパッケージがあります。

于 2012-05-16T01:39:23.610 に答える