我试图从i中获取响应代码(200,404等)使用simpleHTTP在HTTP类中使用响应类型 到目前为止:
--how to get the http response Int from response
getStatusCode response = print 0
--this works...
--- othercode ---
rsp <- simpleHTTP (defaultGETRequest_ clean_uri)
file_buffer <- getResponseBody(rsp)
--this fails
response = (getStatusCode rsp)
答案 0 :(得分:3)
我认为你想要的是
getResponseCode :: Result (Response ty) -> IO ResponseCode
如果您使用的是HTTP-4000.2.4或更高版本,请从Network.HTTP
模块。对于HTTP
的早期版本,您必须在rspCode
字段上对自己进行模式匹配,类似于下面显示的rspReason
字段的方式。
如果您对原因感兴趣,请使用Response
之后的rspReason
字段
rsp <- simpleHTTP ...
你有
rsp :: Either ConnError (Response ty) -- Result is a type synonym for (Either ConnError)
并且可以访问每个
的原因let reason = case rsp of
Left err -> show err -- for example
Right response -> rspReason response
putStrLn $ "Here's why: " ++ reason