Cookie выключили с Java URLConnection

Для полного на HTML (а не WMD разрабатывают b / я / a) я обычно использую http://www.fckeditor.net/ . Удовлетворение требованиям заказчика может быть немного громоздким, но надежным однажды на месте.

8
задан dharga 21 September 2009 в 17:52
поделиться

4 ответа

Вам необходимо добавить CookieHandler в систему для обработки файлов cookie. До Java 6 в JRE не было реализации CookieHandler, вам нужно было написать свою собственную. Если вы используете Java 6, вы можете это сделать,

  CookieHandler.setDefault(new CookieManager());

URLConnection обрабатывает файлы cookie очень слабо. Это почти не работает. Он не обрабатывает все правила файлов cookie правильно. Вам следует использовать Apache HttpClient, если вы имеете дело с конфиденциальными файлами cookie, такими как аутентификация.

10
ответ дан 5 December 2019 в 19:01
поделиться
uc.getHeaderFields()
// get cookie (set-cookie) here

URLConnection conn = url.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2");
conn.addRequestProperty("Referer", "http://xxxx");
conn.addRequestProperty("Cookie", "...");
1
ответ дан 5 December 2019 в 19:01
поделиться

Я думаю, что сервер не может определить по первому запросу, что клиент не поддерживает файлы cookie. Итак, вероятно, сервер отправляет редиректы. Попробуйте отключить переадресацию:

uc.setInstanceFollowRedirects(false);

Тогда вы сможете получать файлы cookie из ответа и использовать их (при необходимости) при следующем запросе.

2
ответ дан 5 December 2019 в 19:01
поделиться

Если вы пытаетесь очистить большие объемы данных после входа в систему, вам может быть даже лучше с помощью скриптового парсера, такого как WebHarvest ( http: / /web-harvest.sourceforge.net/) Я использовал его с большим успехом в некоторых своих проектах.

-4
ответ дан 5 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: