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
Http 使用Haskell的Github Gist API_Http_Api_Haskell_Gist - Fatal编程技术网

Http 使用Haskell的Github Gist API

Http 使用Haskell的Github Gist API,http,api,haskell,gist,Http,Api,Haskell,Gist,首先,我以前从未真正使用过API,也从未使用过Haskell中的HTTP库。我不确定我到底做错了什么,所以也许有人能帮上忙 我正在使用我能读到的:,即write方法,来写这个: req = postRequest "http://gist.github.com/gists/new" testPost = simpleHTTP $ req {rqBody = urlEncodeVars [("login", "Rayn

首先,我以前从未真正使用过API,也从未使用过Haskell中的HTTP库。我不确定我到底做错了什么,所以也许有人能帮上忙

我正在使用我能读到的:,即write方法,来写这个:

req = postRequest "http://gist.github.com/gists/new"

testPost = simpleHTTP $ req {rqBody = urlEncodeVars 
                                      [("login", "Raynes"),
                                       ("token","<removed>"),
                                       ("file_ext[gistfile1]",".hs"),
                                       ("file_name[gistfile1]","testfile"),
                                       ("file_contents[gistfile1]","main = putStrLn \"Hello, world!\"")]}
据我所知,地点应该是一个链接到新的要点。然而,没有提出新的要点。我不确定我做错了什么。基本上没有Gist API的文档,我唯一可以假设的是我没有正确地翻译Ruby。正如我所说,我以前从未真正使用过HTTP库


非常感谢您的帮助。

根据来源,您的帖子url是错误的,应该是

在阅读了一个使用Network.Browser.browse的示例后,我自己找到了答案

req = "http://gist.github.com/gists"

testPost = do
  (uri, rsp) <- Network.Browser.browse $ do
                  setAllowRedirects True
                  request $ formToRequest $
                          Form POST (fromJust $ parseURI req)
                                   [("file_ext[gistfile1]",".hs"),
                                    ("file_contents[gistfile1]","main = putStrLn \"Hello, world!\""),
                                    ("login","Raynes"),
                                    ("token","removed")]
  return uri
req=”http://gist.github.com/gists"
testPost=do

(uri,rsp)你能解释一下你期望的是哪种输出(或者你希望的是哪种输出)吗?据我所知,它根本没有做任何事情。位置字段(据我所知)应该是指向新要点的链接,但是没有要点。我真是莫名其妙。这似乎应该很容易\可能您在使用post VAR时有一些错误。按照重定向,发送会话cookie并读取您收到的html页面。它可能包含一些错误消息。我最近也在做同样的事情,我发现http枚举器是用于Aeson的救生工具。这对我来说是个意外。我正在试验,却忘了把它去掉。
req = "http://gist.github.com/gists"

testPost = do
  (uri, rsp) <- Network.Browser.browse $ do
                  setAllowRedirects True
                  request $ formToRequest $
                          Form POST (fromJust $ parseURI req)
                                   [("file_ext[gistfile1]",".hs"),
                                    ("file_contents[gistfile1]","main = putStrLn \"Hello, world!\""),
                                    ("login","Raynes"),
                                    ("token","removed")]
  return uri