9
votes

Les cookies sont désactivés avec l'urlconnexion Java

J'essaie de faire une demande à une page Web nécessitant des cookies. J'utilise httpurlconnection, mais la réponse revient toujours en disant xxx

Comment puis-je apporter la demande de telle sorte que le serveur interrogé pense que j'ai des cookies activés. Mon code va quelque chose comme ça. xxx


0 commentaires

4 Réponses :


2
votes
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 commentaires

Enfin, quelqu'un dans ce forum dit où mettre le code ... Merci Bro, tu m'as sauvé !!



11
votes

Vous devez ajouter un cookieHandler au système pour qu'il manipule un cookie. Avant Java 6, il n'y a pas de mise en œuvre de CookieHandler dans le JRE, vous devez écrire votre propre. Si vous êtes sur Java 6, vous pouvez le faire,

  CookieHandler.setDefault(new CookieManager());


1 commentaires

Maintenant, je dois savoir comment faire une authentification proxy HTTP. Je l'avais travaillé avec UrlConnection, mais je dois maintenant comprendre ici. Tsok, Google va prouver quelque chose pour moi;) Merci!



-4
votes

Si vous essayez de gratter de gros volumes de données après un identifiant, vous pouvez même être mieux désactivé avec un grattoir Web scripté comme Webharvest ( http://web-harvest.sourceforge.net/ ) Je l'ai utilisé à un grand succès dans certains de mes propres projets.


0 commentaires

2
votes

Je pense que le serveur ne peut pas déterminer à la première demande qu'un client ne prend pas en charge les cookies. Donc, probablement le serveur envoie des redirections. Essayez de désactiver les redirections: xxx

alors vous pourrez obtenir des cookies de la réponse et les utiliser (si vous avez besoin) de la demande suivante.


0 commentaires