2017-08-01 5 views
0

Après avoir essayé différents tutoriels et lu beaucoup de messages ici, je n'arrive toujours pas à me connecter à un site Web en utilisant jsoup.Connectez-vous en utilisant java jsoup ne fonctionne pas

C'est mon code

 Connection.Response response = Jsoup.connect("https://www.ivolatility.com/login.j") 
       .method(Connection.Method.GET) 
       .execute(); 

     response = Jsoup.connect("https://www.ivolatility.com/login.j") 
       .data("username", username) 
       .data("password", password) 
       .cookies(response.cookies()) 
       .method(Connection.Method.POST) 
       .execute(); 

     Document homePage = Jsoup.connect("http://www.ivolatility.com/options.j") 
       .cookies(response.cookies()) 
       .get(); 
+0

Ne devriez-vous pas utiliser 'https' dans votre dernière requête? Vous avez utilisé 'http: // www.ivolatility.com/options.j', je voudrais d'abord vérifier l'URL' https' ici. –

+0

J'ai fait. Même résultat On dirait que ce site fonctionne comme ça. Pour se connecter, ils utilisent https et après que vous êtes connecté il disparaît. – clex

Répondre

1

Vérifiez la post demande que le navigateur envoie (utiliser les outils de développement de votre navigateur) - il envoie des paramètres supplémentaires que vous n'envoyez pas. Ajoutez-les à votre reauest:

response = Jsoup.connect("https://www.ivolatility.com/login.j") 
      .data("username", username)     
      .data("ref_url", "") 
      .data("service_name", "") 
      .data("step", "1") 
      .data("login__is__sent", "1") 
      .data("password", password) 
      .cookies(response.cookies()) 
      .method(Connection.Method.POST) 
      .execute(); 

Il sera également sage d'ajouter la chaîne user agent de votre navigateur à la demande, étant donné que votre programme peut envoyer sa propre chaîne, ce qui entraîne une réponse totalement différente du navigateur.

+0

C'était la solution. Merci. – clex

+0

Content de vous aider. Si ma réponse a résolu votre problème, vous pouvez le marquer comme accepté. – TDG