Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Haskell';s Network.HTTP.Req库?_Http_Haskell - Fatal编程技术网

如何使用Haskell';s Network.HTTP.Req库?

如何使用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 :

我试图执行一个简单的HTTPGET请求,但我得到了一个404。我假设URL上有问题,但我找不到

以下是执行请求的函数:

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