URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp");
URLConnection urlConn = myUrl.openConnection();
urlConn.connect();
Поскольку сервер может установить несколько файлов 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
, разделенных semi-colons (;)
.Первое сопряжение имя / значение представляет собой фактическую строку данных, которая вас интересует (например, "sessionId=0949eeee22222rtg" or "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());