0

我不知道如何从服务器的响应中获取 Content-Length 标头:

import Network.HTTP.Conduit

main = do 
      headers <- getHeaders "http://fdsfdsfds.fd"

      --??? this doesn't compile and a wrong way to go
      head $ filter (\x -> hContentLength (fst x)) headers

getHeaders :: String -> IO ResponseHeaders
getHeaders url = do
  req <- parseUrl url
  res <- withManager $ httpLbs req
  return $ responseHeaders res

你的建议?

4

1 回答 1

1

那是因为hContentLength它只是一个不区分大小写的字符串,而不是一个函数。你不能应用它。

但是,由于CI aEqfor any的一个实例Eq a,您可以简单地使用lookup

getContentLength :: ResponseHeaders -> Maybe ByteString
getContentLength = lookup hContentLength
于 2014-07-10T13:22:25.823 回答