HTTPリクエストの送信

Haskell:
HTTPリクエストの送信

How to: (やり方)

-- 'http-conduit' パッケージを利用
import Network.HTTP.Simple

-- 簡単なGETリクエストの例
main :: IO ()
main = do
    response <- httpBS "http://httpbin.org/get"
    putStrLn $ "The status code was: " ++ show (getResponseStatusCode response)
    print $ getResponseHeader "Content-Type" response
    putStrLn $ "The response body was: " ++ show (getResponseBody response)

実行結果のサンプル:

The status code was: 200
["application/json"]
The response body was: "{\"args\":{},\"headers\":{...},\"url\":\"http://httpbin.org/get\"}"

Deep Dive (深く掘り下げる)

HTTPリクエストを送る機能はHaskellの始まりから重視されています。ウェブ開発やウェブサービスの中核的な部分だからです。選択肢はいくつかあります:http-conduitwreqreq などが有名です。http-conduit はストリーミングに対応し、大きなデータも扱いやすいです。内部では、パフォーマンス重視でHTTP/1.1プロトコルを使っています。

See Also (参照)