Java URLConnection проблема с файлами cookie - PullRequest
0 голосов
/ 06 мая 2011

Если есть сайт, который устанавливает Cookie (a) на первой странице, вы заполняете форму, и вам нужно отправить этот же Cookie (a) на вторую страницу. На этой второй странице вы заполняете другую форму, которая отправляет вас на третью страницу, и если вы отправляете Cookie (a), сайт установит еще один Cookie (b), а затем перенаправит вас на последнюю страницу. Но для того, чтобы появилась последняя страница, вам нужны оба файла cookie (a и b).
Теперь в java, если вы откроете соединение с первой страницей, возьмете Cookie (a) из заголовка ответа и добавите его как requestProperty на вторую страницу, вы больше не сможете URLConnection.write (), поскольку вы уже подключены. Это написание новых POSTDATA необходимо заполнить на странице 2 и перейти к третьей. Теперь вы можете создать еще один URLConnection >> добавить Cookie как requestProperty >> и подключиться,
Но проблема в том, что: Cookie (a) действителен только для одного сеанса, поэтому, когда я открываю второе соединение, Cookie больше не корректен. И если вы не отправите правильный Cookie на страницу 3, он просто вернет 'null' для .getHeaderFields.get ("Set-Cookie").
Так кто-нибудь знает, как получить эти секунды Cookie (б)?
-может сохранить / восстановить / возобновить тот же сеанс или что-то еще?? ...

Надеюсь, это понятно, иначе просто попросите у меня разъяснений. Спасибо!

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Начиная с Java 5, существует менеджер куки, который хранит все соответствующие куки на картеВам не нужно использовать url.rewrite для управления файлами cookie.Google для cookiemanager.Это первая ссылка и она актуальна.

0 голосов
/ 06 мая 2011

Вы можете попробовать использовать Apache HttpClient , в который встроена обработка файлов cookie.

...