如何在Haskell中执行HTTPS请求?

And*_*yuk 19 haskell

如何在Haskell中执行HTTPS请求?

例如,我想request tokenDropbox API获取via HTTPS POST

PS:我使用的是Windows 8

Tho*_*son 24

由于像包http-conduit,这是支持的tls,你可以使用simpleHttpHTTPS的.

> import Network.HTTP.Conduit
> simpleHttp "https://github.com"
...  big ugly bytestring that can be parsed in so many ways...
Run Code Online (Sandbox Code Playgroud)

  • 这是一个巨大的包......或者肯定有很多依赖! (5认同)

unh*_*mer 5

为了减少依赖性,请使用http-clienthttp-client-tls

{-# LANGUAGE OverloadedStrings #-}

import qualified Network.HTTP.Client     as H
import qualified Network.HTTP.Client.TLS as H

main :: IO ()
main = do
  httpman <- H.newManager H.tlsManagerSettings
  let req = H.setQueryString [("q", Just "r")] "https://httpbin.org/get"
  response <- H.httpLbs req httpman
  print response
Run Code Online (Sandbox Code Playgroud)

(这些包是从 http-conduit 中提取出来的;如果您不需要管道,坚持使用 http-client 将减少您的依赖足迹。)