我正在尝试执行一个简单的 HTTP GET 请求,但返回 404。我认为 URL 存在问题,但我找不到它。
这是执行请求的函数:
getMockResource :: (MonadHttp m) => m BsResponse
getMockResource = req
GET
(http "www.mocky.io" /: "/v2/5da208d92f00007900f418ff")
NoReqBody
bsResponse
mempty
Run Code Online (Sandbox Code Playgroud)
我的主要:
main :: IO ()
main = runReq defaultHttpConfig $ do
r <- getMockResource
liftIO $ B.putStrLn (responseBody r)
Run Code Online (Sandbox Code Playgroud)
这是输出:
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"))
Run Code Online (Sandbox Code Playgroud)
该资源可在http://www.mocky.io/v2/5da208d92f00007900f418ff获取
关于问题出在哪里有什么想法吗?谢谢你!
路径在这里被逃脱。为了使用斜杠,您可以使用以下(/~) :: ToHttpApiData a => Url scheme -> a -> Url scheme函数:
getMockResource :: MonadHttp m => m BsResponse
getMockResource = req
GET
(http "www.mocky.io" /: "v2" /~ "5da208d92f00007900f418ff")
NoReqBody
bsResponse
memptyRun Code Online (Sandbox Code Playgroud)