您可以使用java.net.CookieHandler,引用于:Java Cookie Handling
直接取自http://www.hccp.org/java-net-cookie-how-to.html的例子:
从响应中检索 cookie:
向服务器打开一个java.net.URLConnection:
URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp");
URLConnection urlConn = myUrl.openConnection();
urlConn.connect();
循环通过响应标头寻找 cookie:
由于服务器可能在单个请求中设置多个 cookie,因此我们需要遍历响应标头,查找所有名为“Set-Cookie”的标头。
String headerName=null;
for (int i=1; (headerName = uc.getHeaderFieldKey(i))!=null; i++) {
if (headerName.equals("Set-Cookie")) {
String cookie = urlConn.getHeaderField(i);
...
从 cookie 字符串中提取 cookie 名称和值:
getHeaderField(int index) 方法返回的字符串是一系列用分号(;)分隔的name=value。第一个名称/值对是我们感兴趣的实际数据字符串(即“sessionId=0949eeee22222rtg”或“userId=igbrown”),随后的名称/值对是我们将用于管理 cookie 存储的元信息(到期时等)。
cookie = cookie.substring(0, cookie.indexOf(";"));
String cookieName = cookie.substring(0, cookie.indexOf("="));
String cookieValue = cookie.substring(cookie.indexOf("=") + 1, cookie.length());
基本上就是这样。我们现在有了 cookie 名称 (cookieName) 和 cookie 值 (cookieValue)。