comment maintenir variable des cookies et des sessions avec jsoup?
public boolean isGood(String path)
{
if (p != path)
{
good = false;
}
if (good)
{
try
{
Connection connection = Jsoup.connect(path);
Map<String, String> cookys = Jsoup.connect(path).response().cookies();
if (cookys != cookies)
cookies = cookys;
for (Entry<String, String> cookie : cookies.entrySet())
{
connection.cookie(cookie.getKey(), cookie.getValue());
}
Doc = connection.get();
good = true;
}
catch (Exception e)
{
rstring = e.getMessage().toString();
good = false;
}
}
else
{
try
{
Response response = Jsoup.connect(path).execute();
cookies = response.cookies();
Doc = response.parse();
good = true;
}
catch (Exception e)
{
rstring = e.getMessage().toString();
good = false;
}
}
return good;
}
Cette méthode n'est pas droit. Ce que j'essaie de comprendre est une façon de sans savoir ce que les cookies existent, être capable de gérer les cookies changements ainsi que de maintenir les sessions.
Je suis en train d'écrire une application pour mon forum simple machines, et il change son cookie config que vous cliquez sur un certain comportement personnalisé.
Mais si l'application fait bien pour mon site, j'allais publier une version pour les autres à utiliser pour d'autres forums.
Je sais que je suis dans la bonne direction, mais la logique est une sorte de coups de pied à mes fesses.
Tout conseil serait grandement apprécié.
- En plus de BalusC les commentaires, il est peu probable que
p != path
chose est ce que tu veux vraiment dire, même si c'est possible.
Vous devez vous connecter pour publier un commentaire.
Ce code est très déroutant. Le débit est illogique et la gestion des exceptions est mauvais. La référence de l'objet de comparaisons comme
if (p != path)
etif (cookys != cookies)
ne fait pas de proférer des sens. Pour comparer l'objet contenu vous devez utiliserequals()
méthode à la place.Au point, je comprends que vous souhaitez conserver les cookies dans un tas de la suite des Jsoup demandes sur le même domaine. Dans ce cas, vous devez fondamentalement respecter le flux suivant:
Peut être remaniée à la méthode suivante:
qui peut être utilisé comme
Note que la prochaine Jsoup 1.6.2 viendra avec une nouvelle
Connection#cookies(Map)
méthode qui devrait fairefor
boucle à chaque fois que superflu.+1 pour BalusC
J'ai changé quelques dans votre code et il fonctionne pour moi, de sorte que vous obtenez cookie du site et obtenir le Document