Haskell 在HTTP管道中处理HTTP查询参数

Haskell 在HTTP管道中处理HTTP查询参数,haskell,http-conduit,Haskell,Http Conduit,我想下载URL的内容 http://example.com/foobar?key1=value1&key2=value2 使用(获取请求) 我如何做到这一点: a) 假设我已经知道完整的(即编码的URL) b) 如果某些参数是动态的,因此不是URL编码的 注意:此问题以问答式回答,因此故意不显示任何研究成果。关于A): 您可以将simpleHttp与包含查询参数的URL一起使用,就像文档中的示例: {-#语言重载字符串} 导入Network.HTTP.conductor 将限定数据.B

我想下载URL的内容

http://example.com/foobar?key1=value1&key2=value2
使用(获取请求)

我如何做到这一点:

a) 假设我已经知道完整的(即编码的URL) b) 如果某些参数是动态的,因此不是URL编码的

注意:此问题以问答式回答,因此故意不显示任何研究成果。

关于A):

您可以将
simpleHttp
与包含查询参数的URL一起使用,就像文档中的示例:

{-#语言重载字符串}
导入Network.HTTP.conductor
将限定数据.ByteString.Lazy导入为LB
main::IO()
主要=
simpleHttp“http://example.com/foobar?key1=value1&key2=value2“>>=LB.putStr
关于(b):

您需要一个包含查询参数的
[(ByteString,可能是ByteString)]
类型的键/值元组列表

{-#语言重载字符串}
导入Network.HTTP.conductor
导入Data.ByteString(ByteString)
将限定数据.ByteString.Lazy.Char8作为LB导入
queryParams::[(ByteString,可能是ByteString)]
查询参数=[
(“键1”,仅为“值1”),
(“键2,仅为“值2”)]
main::IO()
main=do
要求