如何构造Network.HTTP.conductor.Request对象?
正在尝试使用包构造如何构造Network.HTTP.conductor.Request对象?,http,haskell,http-conduit,Http,Haskell,Http Conduit,正在尝试使用包构造请求。说明如下: 此数据类型的构造函数未公开。相反,你应该 使用该方法检索默认实例,或 从URL构造,然后使用下面的记录 修改 我不知道这意味着什么。如何“修改”不可变的请求对象;此外,“下面”的任何函数都不会返回请求对象 就我所知: main = do let req = def :: String putStrLn "What now? How do I make it a POST?" 虽然我也不知道为什么我在上面使用了String 感谢您的帮助。文档中
请求
。说明如下:
此数据类型的构造函数未公开。相反,你应该
使用该方法检索默认实例,或
从URL构造,然后使用下面的记录
修改
我不知道这意味着什么。如何“修改”不可变的请求对象;此外,“下面”的任何函数都不会返回请求
对象
就我所知:
main = do
let req = def :: String
putStrLn "What now? How do I make it a POST?"
虽然我也不知道为什么我在上面使用了String
感谢您的帮助。文档中根本不清楚,但“下面的函数”实际上是记录标签,因此您可以使用记录更新语法来构造所需的请求。当然,这里的“修改”意味着基于默认请求创建一个新请求,而不是实际的破坏性更新 换句话说,类似这样的事情:
let req = def { method = methodPost, ... }
你说得对,还不清楚。我只是添加了一些评论,希望能澄清一点。关于这个设置的解释(我称之为设置类型)可以在:@MichaelSnoyman你不是指
def
而不是req
中的let req=req
?Doh,问题是我指的是let req=initReq>{
。其思想是让parseUrl
函数为您处理大部分工作,然后再进行调整。