-2

get リクエストを送信する方法は次のとおりです。

import Network.HTTP.Conduit
import Control.Applicative ((<$>))
import Network.HTTP.Types

request <- parseUrl $ "someUrl"
res <- withManager $ httpLbs request
putStrLn $ show $ responseCookieJar res

印刷する代わりに、responseCookieJarそこから値を取得したいと思います。このhttp://hackage.haskell.org/package/http-conduit-2.1.2/docs/Network-HTTP-Conduit.html#t:CookieJarは、それが不可能であることを意味します。だから私は(正規表現によって)それを文字列として解析しなければならないと考えています。ただし、キーで値を取得するような標準的な方法が必要です。

ありませんか?

4

2 に答える 2

3

を使用して、さまざまなフィールド アクセサーを介して検査できる のdestroyCookieJarリストに変換できます。Cookie

キーに最も役立つのは、おそらくcookie_nameとの 2 つですcookie_path。だからあなたは次のようなことをするかもしれません

filter (\c -> cookie_name c == pack "foo") . destroyCookieJar

( packfromを使用Data.Bytestring.Char8)

または、たくさんの Cookie があり、複数のクエリを実行したい場合は、Map最初に from name to cookie のようなものを作成することをお勧めします。

于 2014-07-06T12:27:33.113 に答える