序列化CookieManager / CookieStore

时间:2012-07-01 17:43:03

标签: java cookies

我正在制作一个访问网站的Java程序,这取决于分发cookie以便我可以登录。我发现使用CookieManager将允许我的URLConnection至少收集这些cookie,但后来如何在Java程序关闭时,我是否仍然存在这些cookie?

我已经有一个管理一些变量序列化的类,那么如何在这个序列化过程中实现cookie呢? Java显然不允许我默认序列化CookieManagers和CookieStores。

2 个答案:

答案 0 :(得分:2)

您可以扩展CookieManager并使其实现可序列化。然后使用刚刚创建的扩展CookieManager。

例如:

public class NewCookieManager extends CookieManager implements Serializable{
  //Code here...
}

答案 1 :(得分:0)

您可以使用cookie管理器,将所有cookie标头保留在可序列化的映射中。您可以调用Using cryptoProvider As New DESCryptoServiceProvider(), ms As New MemoryStream(), cs As New CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_64, IV_64), CryptoStreamMode.Write), sw As New StreamWriter(cs) '... End Using 方法,使其再次解析cookie标头。

put

这样,您可以调用getCookieHeaders()获取所有cookie头的可序列化映射,并将其传递回构造函数以从先前状态初始化cookie管理器。