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-conduit
、wreq
、req
などが有名です。http-conduit
はストリーミングに対応し、大きなデータも扱いやすいです。内部では、パフォーマンス重視でHTTP/1.1プロトコルを使っています。