如何从 Java 中的 URL 获取 cookie 内容?
例如:当我访问 google.com 时使用 LiveHttpHeaders 我可以看到返回的 cookie 如下。
Cookie: SID=DQAAAKEAAADA1VJiGC-O-Ml8cPfRIA8NxJ3rCQfXbRnh5NMw-l8eunfAKJNypj9Rss1_Ok2yyQXCU9qu4jM2TuASy2EE0KUknUOsdOgMz3W7WCDgey6OSZ-xi_ozh_lZP8paJ_OViG_G2FaTWciTyd4Mp_V0LYjgov1u6KkhATu8day8-nEckMXb4I56cse8SaiYFCjDmpUDmL6CDFij8Nxd3XDUEOTn5SCifKrRDohW6mAAaqzFPA; HSID=AvoV_TPUEmoSB6KMm; PREF=ID=260f8c0212fee1a7:U=6ca9509bc747fb21:TM=1297164689:LM=1297164690:S=opeCe3s85Xhm3Bq1; NID=43=EZNhkfgLmXVNQriZ2rjU0HGj6flDYy2nfsPD4Ef6pME0wvXxc5_avP1R9fSea0py_-F9xY3SJ6DpMvLXRT_bU7FH97s8sOmx7l49cwvNUbYTwJcY0xqs-0vKqybTe>pNZY
如何获取 SID 的值?这些东西在 UrlConnection 类的 getHeaderFieldKey()
中是不可用的。我试图获取默认的 cookieHandler,但系统返回 null。
最佳答案
首先,您需要在连接到 url 之前设置 cookie 处理程序(例如 CookieHandler.setDefault(new CookieManager())
)。然后将自动收集 cookie,如果需要,您可以从 CookieHandler 检索它们。
关于Java http cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4932761/