在Haskell中,GET请求的编码问题主要涉及URL编码和查询参数编码。
Network.HTTP.Types.URI
模块中的urlEncode
函数进行URL编码。&
符号分隔。为了确保参数的正确传输和解析,需要对参数进行编码。在Haskell中,可以使用Network.HTTP.Types.URI
模块中的renderQuery
函数进行查询参数编码。在Haskell中,可以使用Network.HTTP.Simple
库来发送GET请求,并结合上述的编码方法来处理编码问题。以下是一个示例代码:
import Network.HTTP.Simple (httpBS, parseRequest, setRequestMethod, setRequestQueryString)
main :: IO ()
main = do
let url = "https://example.com/path"
let params = [("key", "value"), ("中文", "测试")]
request <- parseRequest url
let request' = setRequestMethod "GET" $ setRequestQueryString params request
response <- httpBS request'
putStrLn $ "Response status code: " ++ show (getResponseStatusCode response)
putStrLn $ "Response body: " ++ show (getResponseBody response)
这段代码使用Network.HTTP.Simple
库发送了一个带有查询参数的GET请求,并打印了响应的状态码和响应体。
推荐的腾讯云相关产品:腾讯云函数(云函数是一种无服务器的计算服务,可帮助您构建和运行无需管理服务器的应用程序)。
腾讯云函数产品介绍链接地址:https://cloud.tencent.com/product/scf
领取专属 10元无门槛券
手把手带您无忧上云