我试图使用Proxmox VE json API,wreq我可以登录并获取包含令牌的json响应,并将其作为cookie发送给每个请求。我现在的问题是如何用wreq设置cookie?看起来会话处理会自动处理服务器发送的Set-Cookie,但在我的情况下从未发生过。
WReq是否等同于简单的curl -b" Something = Value"在壳? 看起来可以手工调用Cookie构造函数,但需要进行大量的论证,除了名称和值之外,我并不知道应该放在哪里。
感谢,
答案 0 :(得分:2)
一种选择是使用getWith
,您可以指定CookieJar
使用您的自定义Cookie值。
{-# LANGUAGE OverloadedStrings #-}
import Network.Wreq.Lens
import Network.Wreq
import Control.Lens
import Network.HTTP.Client
import Data.Time.Clock
secs n = n*10^12
mins n = n*60
days n = n*1440
foo = do
now <- getCurrentTime
let expires = addUTCTime (days 30) now
cookie = Cookie "name" "value" expires "example.com" "/" now now True True False False
jar = createCookieJar [cookie]
opts = defaults :: Options
opts' = opts & cookies .~ (Just jar)
getWith opts' "http://example.com/asd"