2017-03-15 1 views
1

J'essaye de POST des données dans un site Web pour faire une connexion dans le site en utilisant Jsoup. Ceci est la forme html:comment soumettre un formulaire sans un nom pour le bouton en utilisant jsoup post demande

<form action="/user/login" method="POST"> 
 
    <table> 
 
    <tr> 
 
     <td><label for="email">E-Mail:</label></td> 
 
     <td><input name="email" value="" /></td> 
 
    </tr> 
 
    <tr> 
 
     <td><label for="password">Passwort:</label></td> 
 
     <td><input name="password" type="password" /></td> 
 
    </tr> 
 
    <tr> 
 
     <td><input type="submit" value="Login" /></td> 
 
    </tr> 
 
    </table> 
 
    </form>

Voici mon code:

Connection.Response loginForm = Jsoup.connect(LOGINWEBSITE) 
        .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0") 
        .method(Connection.Method.GET) 
        .execute(); 


      Document login = Jsoup.connect(LOGIN_URL) 
        .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0") 
        .data("cookieexists", "false") 
        .data("email", email) 
        .data("password", password) 
        .cookies(loginForm.cookies()) 
        .post(); 

Mais il ne fonctionne pas. Pour un autre site Web, je devais juste ajouter une ligne pour le bouton et cela a fonctionné. Ici, cela ne fonctionne pas, car le bouton n'a pas de nom. Fondamentalement, je veux savoir comment soumettre le. Comment puis-je résoudre ce problème? Merci beaucoup.

+0

Qu'avez-vous essayé jusqu'à présent? Où est le problème? S'il vous plaît plus exactement ce que vous attendez. – luksch

+0

Désolé je suis nouveau à stackoverflow, donc j'ai accidentellement posté ma question avant que j'aie fini. Édité maintenant si – Allan36j

+0

Si votre question est résolue, alors vous pouvez envisager d'accepter ma réponse, si elle vous a aidé à trouver la solution. Si la solution était différente, vous pouvez créer votre propre réponse ici et l'accepter après un certain temps d'attente. Ceci indiquera aux autres que ce problème est résolu et n'a pas besoin de plus d'attention. Lorsque vous avez un peu plus de réputation, vous pouvez également démarrer et réduire les réponses et les questions. J'espère que vous passerez un bon moment ici SO – luksch

Répondre

0

Souvent, vous devez d'abord accéder à la page de connexion avec une demande GET pour obtenir tous les cookies/jetons nécessaires à la demande de publication. Je ne peux pas vérifier cela pour vous puisque vous n'avez pas mentionné l'URL à laquelle vous essayez de vous connecter. À votre place, je voudrais enregistrer le trafic réseau avec les outils de développement du navigateur lorsque vous vous connectez manuellement. Ensuite, analysez les données qui ont été réellement envoyées en arrière. Habituellement, vous pouvez facilement identifier les jetons/cookies nécessaires qui doivent être transmis avec la demande de publication pour une connexion réussie.

+1

Merci pour votre temps. Je suis désolé de ne pas donner assez d'informations, mais j'ai vérifié pour tout ce que vous avez mentionné. J'ai réussi à résoudre mon problème maintenant en supprimant ".data (" cookieexists "," false ")" de la demande. – Allan36j