Я мог бы заставить его работать, не передавая куки в качестве аргументов с веб-страницы с этим кодом:
private String retrieveCookies(URL url) throws IOException, URISyntaxException
{
String cookieValue = null;
CookieHandler handler = CookieHandler.getDefault();
if (handler != null) {
Map<String, List<String>> headers = handler.get(url.toURI(), new HashMap<String, List<String>>());
List<String> cookiesList = headers.get("Cookie");
if (cookiesList != null)
{
for (String v : cookiesList) {
if (cookieValue == null)
cookieValue = v;
else
cookieValue = cookieValue + ";" + v;
}
}
}
return cookieValue;
}
...
httppost.addHeader("Cookie", retrieveCookies(new URL(uploadUrl)));
CookieHandler класса JDK, к счастью, может получить куки из «системного» магазина. В данном случае это магазин браузера, доступ к которому осуществляется через плагин Java.
Вроде "ручная работа", но она работает.
ПРИМЕЧАНИЕ: я нашел код здесь