Haskell 将wreq响应打印到终端

Haskell 将wreq响应打印到终端,haskell,haskell-stack,Haskell,Haskell Stack,我想做一些非常简单的事情;做出wreq响应并将内容打印到终端 main.hs如下所示: {-#语言重载字符串} 我的.cabal文件如下所示: executable wreqscraper hs-source-dirs: src main-is: Main.hs default-language: Haskell2010 build-depends: base >= 4.7 && < 5,

我想做一些非常简单的事情;做出
wreq
响应并将内容打印到终端

main.hs如下所示: {-#语言重载字符串}

我的.cabal文件如下所示:

executable wreqscraper
  hs-source-dirs:      src
  main-is:             Main.hs
  default-language:    Haskell2010
  build-depends:       base >= 4.7 && < 5,
                       wreq,
                       bytestring

putStrLn
(或类似的东西)打印这些内容的正确方法是什么?

您需要通过testring打开
响应,这样您就得到了一个
ByteString
,您可以将其与
C.unpack
一起使用

以下是一个工作示例:

{-# LANGUAGE OverloadedStrings #-}

import Network.Wreq
import Control.Lens
import Data.ByteString.Lazy.Char8 as C

main :: IO ()
main = do
    r <- get "http://httpbin.org/get"
    Prelude.putStrLn $ C.unpack $ (r ^. responseBody)
{-#语言重载字符串}
导入网络.Wreq
进口管制.镜头
将Data.ByteString.Lazy.Char8作为C导入
main::IO()
main=do

r您需要通过testring
打开
响应,这样您就可以通过testring
获得一个
响应,并且可以将它与
C.unpack
一起使用

以下是一个工作示例:

{-# LANGUAGE OverloadedStrings #-}

import Network.Wreq
import Control.Lens
import Data.ByteString.Lazy.Char8 as C

main :: IO ()
main = do
    r <- get "http://httpbin.org/get"
    Prelude.putStrLn $ C.unpack $ (r ^. responseBody)
{-#语言重载字符串}
导入网络.Wreq
进口管制.镜头
将Data.ByteString.Lazy.Char8作为C导入
main::IO()
main=do
R
/Users/mkaravan/end2end/haskell_sandbox/wreqscraper/src/Main.hs:22:22: error:
    • Couldn't match expected type ‘C.ByteString’
                  with actual type ‘Response
                                      Data.ByteString.Lazy.Internal.ByteString’
    • In the first argument of ‘C.unpack’, namely ‘r’
      In the first argument of ‘putStrLn’, namely ‘(C.unpack r)’
      In a stmt of a 'do' block: putStrLn (C.unpack r)
{-# LANGUAGE OverloadedStrings #-}

import Network.Wreq
import Control.Lens
import Data.ByteString.Lazy.Char8 as C

main :: IO ()
main = do
    r <- get "http://httpbin.org/get"
    Prelude.putStrLn $ C.unpack $ (r ^. responseBody)