Wir haben eine Java-basierte Anwendung, die Dateien von einer Website herunterlädtnicht in der Lage zu erstellen und Cookie JSESSSIONID Griff
anmelden Haben Sie den Inhalt der Website zuzugreifen (und zum Download)
All dies ist getan als Teil dieser Java-Anwendung mit Apache Httpclient 4.3.3
Leider ist der Code implementiert Logins die ganze Zeit und schafft unerwünschte Sitzungen (~ 10000 +) auf dem Webserver
die Website einmal Logins es eine JS bietet ESSIONID als Teil des Cookies.
Ich dachte daran, diese JSESSIONID aus dem Cookie zu holen und einen Cookie zu erstellen und ihn als Teil der nächsten Aufrufe festzulegen.
Im Anschluss an das, was ich
- getan hatte nach dem ersten der URL ausführen, ich die JSESSIONID von Cookies und speichern Sie in einer Textdatei lesen
- Im zweiten Lauf, erhalte ich die Textdatei lesen und den Wert von JSESSIONID erhalten und ein Cookie erstellen und es
- Rufen sie das ausführen von
ClosableHTTPClient
ich den Kontext zusammen mit dem Cookie passiere
Unten ist mein Code-Schnipsel
CloseableHttpClient httpClient = null;
httpClient = HttpClientBuilder.create().useSystemProperties().build();
HttpClientContext localContext = HttpClientContext.create();
BasicCookieStore cookieStore = new BasicCookieStore();
cookie.setDomain("sso.comp.com");
cookie.setPath("/");
cookie.setAttribute("JSESSIONID", "dfafdffddasfad32423423_!ad");
cookieStore.addCookie(cookie);
localContext.setAttribute(HttpClientContext.COOKIE_STORE, cookieStore);
localContext.setCookieStore(cookieStore);
CloseableHttpResponse response = null;
response = httpClient.execute(get,localContext);
Dies führt immer in HTTP 401 Unauthorized
Beachten Sie, dass meine Anwendung jedes Mal von Grund auf neu aufgerufen wird, zum Download, aber in einem Abstand von wenigen Sekunden/Minuten
Jede Hilfe
würde geschätzt
Wie wäre es das Cookie selbst als In-Speicher Objekt irgendwo und benutze es noch einmal? –
Problem ist die Anwendung schließt und startet neu innerhalb einer Zeitspanne von 60 Minuten mehrere Male. – KK99
Meiner Meinung nach läuft etwas schief, weil die Cookies serialisiert/deserialisiert sind. Daher würde ich gerne prüfen, ob es irgendeine Option gibt, eine andere Option als das Schreiben in eine Datei zu verwenden. –