Deaktivierte Cookies mit Java URLConnection

8

Ich versuche, eine Anfrage an eine Webseite zu stellen, die Cookies benötigt. Ich verwende HTTPUrlConnection, aber die Antwort kommt immer mit

zurück %Vor%

Wie kann ich die Anfrage so machen, dass der angefragte Server denkt, dass Cookies aktiviert sind? Mein Code geht ungefähr so.

%Vor%     
dharga 21.09.2009, 17:52
quelle

4 Antworten

10

Sie müssen dem System einen CookieHandler hinzufügen, damit es den Cookie verarbeiten kann. Vor Java 6 gibt es keine CookieHandler-Implementierung in der JRE, Sie müssen Ihre eigene schreiben. Wenn Sie auf Java 6 sind, können Sie dies tun,

%Vor%

URLConnections Cookie-Handhabung ist wirklich schwach. Es funktioniert kaum. Es behandelt nicht alle Cookie-Regeln korrekt. Sie sollten Apache HttpClient verwenden, wenn Sie mit sensiblen Cookies wie Authentifizierung umgehen.

    
ZZ Coder 21.09.2009, 18:13
quelle
2

Ich denke, der Server kann bei der ersten Anfrage nicht feststellen, dass ein Client keine Cookies unterstützt. Also, wahrscheinlich sendet der Server Weiterleitungen. Versuchen Sie, Weiterleitungen zu deaktivieren:

%Vor%

Dann können Sie Cookies von der Antwort erhalten und diese bei der nächsten Anfrage verwenden.

    
Serge Bogatyrev 21.09.2009 18:22
quelle
1
%Vor%     
n00b 21.09.2009 17:56
quelle
-4

Wenn Sie nach einem Login versuchen, große Datenmengen zu scrappen, können Sie mit einem Scripting-Web-Scraper wie WebHarvest sogar besser zurechtkommen ( Ссылка ) Ich habe es in einigen meiner eigenen Projekte sehr erfolgreich eingesetzt.

    
Alex Marshall 21.09.2009 18:19
quelle

Tags und Links