如何使用Haskell';s Network.HTTP.Req库?
我试图执行一个简单的HTTPGET请求,但我得到了一个404。我假设URL上有问题,但我找不到 以下是执行请求的函数:如何使用Haskell';s Network.HTTP.Req库?,http,haskell,Http,Haskell,我试图执行一个简单的HTTPGET请求,但我得到了一个404。我假设URL上有问题,但我找不到 以下是执行请求的函数: getMockResource :: (MonadHttp m) => m BsResponse getMockResource = req GET (http "www.mocky.io" /: "/v2/5da208d92f00007900f418ff") NoReqBody bsResponse mempty 我的主要意见是: main :
getMockResource :: (MonadHttp m) => m BsResponse
getMockResource = req
GET
(http "www.mocky.io" /: "/v2/5da208d92f00007900f418ff")
NoReqBody
bsResponse
mempty
我的主要意见是:
main :: IO ()
main = runReq defaultHttpConfig $ do
r <- getMockResource
liftIO $ B.putStrLn (responseBody r)
main::IO()
main=runReq defaultHttpConfig$do
r路径在此转义。要使用斜杠,可以使用:
getMockResource::MonadHttp m=>BSM响应
getMockResource=req
得到
(http“www.mocky.io”/:“v2”/“5da208d92f00007900f418ff”)
诺雷克博迪
BSR响应
mempty
感谢的提示,我仔细查看了URL创建,需要
http“www.mocky.io”/:“v2”/:“5da208d92f00007900f418ff”
而不是:
(http“www.mocky.io”/v2/5da208d92f0007900f418ff)
路径在此处转义。注意/%2F
等。
VanillaHttpException (HttpExceptionRequest Request {
host = "www.mocky.io"
port = 80
secure = False
requestHeaders = []
path = "/%2Fv2%2F5da208d92f00007900f418ff"
queryString = ""
method = "GET"
proxy = Nothing
rawBody = False
redirectCount = 10
responseTimeout = ResponseTimeoutDefault
requestVersion = HTTP/1.1
}
(StatusCodeException (Response {responseStatus = Status {statusCode = 404, statusMessage = "Not Found"}, responseVersion = HTTP/1.1, responseHeaders = [("Server","Cowboy"),("Connection","keep-alive
"),("Date","Sat, 12 Oct 2019 21:09:09 GMT"),("Content-Type","text/html; charset=UTF-8"),("Content-Length","2137"),("Via","1.1 vegur")], responseBody = (), responseCookieJar = CJ {expose = []}, respo
nseClose' = ResponseClose}) "\n\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>Not Found</title>\n <link rel=\"shortcut icon\" href=\"data:image/png;base64,iVBORw0KGgoAAAANS
UhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlFJREFUeNqUU8tOFEEUPVVdNV3dPe8xYRBnjGhmBgKjKzCIiQvBoIaNbly5Z+PSv3Aj7DSiP2B0rwkLGVdGgxITSCRIJGSMEQWZR3eVt5sEFBgTb/dN1yv
nnHtPNTPG4PqdHgCMXnPRSZrpSuH8vUJu4DE4rYHDGAZDX62BZttHqTiIayM3gGiXQsgYLEvATaqxU+dy1U13YXapXptpNHY8iwn8KyIAzm1KBdtRZWErpI5lEWTXp5Z/vHpZ3/wyKKwYGGOdAYwR0EZwoezTYApBEIObyELl/aE1/83cp40Pt5mxqCKrE4Ck+mVWK
KcI5tA8BLEhRBKJLjez6a7MLq7XZtp+yyOawwCBtkiBVZDKzRk4NN7NQBMYPHiZDFhXY+p9ff7F961vVcnl4R5I2ykJ5XFN7Ab7Gc61VoipNBKF+PDyztu5lfrSLT/wIwCxq0CAGtXHZTzqR2jtwQiXONma6hHpj9sLT7YaPxfTXuZdBGA02Wi7FS48YiTfj+i2Nhq
tdhP5RC8mh2/Op7y0v6eAcWVLFT8D7kWX5S9mepp+C450MV6aWL1cGnvkxbwHtLW2B9AOkLeUd9KEDuh9fl/7CEj7YH5g+3r/lWfF9In7tPz6T4IIwBJOr1SJyIGQMZQbsh5P9uBq5VJtqHh2mo49pdw5WFoEwKWqWHacaWOjQXWGcifKo6vj5RGS6zykI587XeUIQ
DqJSmAp+lE4qt19W5P9o8+Lma5DcjsC8JiT607lMVkdqQ0Vyh3lHhmh52tfNy78ajXv0rgYzv8"))
getMockResource :: MonadHttp m => m BsResponse
getMockResource = req
GET
(http "www.mocky.io" /: "v2" /~ "5da208d92f00007900f418ff")
NoReqBody
bsResponse
mempty