[JAVA] Analyser la page redirigée (Jsoup utilise l'emplacement pour l'écran de transition)

introduction

JE, ~ Mars 2013 Diplômé de la Faculté des arts et des sciences ~ Avril 2018 Infrastructure SIer # Linux ou Azure Mai 2018-Ingénieur WEB # Je voulais pouvoir développer Suite à la transition, J'étudie Java dans une entreprise très réputée.

Si vous pouvez apprendre à développer Je voudrais faire de mon mieux pour pouvoir acquérir des compétences complètes.

Il peut y avoir beaucoup de description de débutant, mais en continuant Output, J'espère que les compétences d'ingénieur seront accumulées.

Ce que je voulais faire

Gratter une certaine page WEB Je souhaite accéder à l'écran de recherche (rechercher par mot-clé puis gratter les données).

Je veux y accéder comme ça,

Connection.Response response = Jsoup.connect(Url)
        .headers(header)
        .cookies(cookies)
        .data(formData)
        .timeout(3000)
        .execute();

L'URL ressemble à ceci.

https://hoge.com/fuga.aspx?validation_no=123456789

Bien sûr, même si vous y accédez tel quel, une erreur se produira. Je ne sais pas si j'essaye de purifier validation_no.

Après m'être inquiété d'environ 6 heures, je regardais les outils de développement

https://hoge.com/fuga.aspx?validation_no=123456789

Il y a un mot «Emplacement» sur la page (*) à laquelle vous accédez auparavant! Remarquer. Quand je le recherche, il semble que la destination de la redirection soit spécifiée. Cela signifie que vous n'avez pas à penser à validation_no! ??

https://hoge.com/top.aspx

Ce que j'ai fait

Comme ça, une fois

https://hoge.com/top.aspx

Utilisez pour obtenir l'emplacement ci-dessous.

Connection.Response res = Jsoup.connect(Url)
        .headers(header)
        .timeout(3000)
        .cookies(cookies)
        .method(Connection.Method.GET)
        .followRedirects(false)
        .execute();

System.out.println(response.header("Location"));

Ensuite, vous pouvez obtenir l'URL avec validation_no, Utilisez-le pour faire ce que vous voulez faire.

À la fin

Si vous le regardez, vous pouvez le voir d'un seul coup, mais j'y suis accro. .. ..

Référence: https://stackoverflow.com/questions/16243455/capture-header-location-with-jsoup-or-other-html-parser

Postscript (2018/6/18)

Je frappais à nouveau Jsoup à l'endroit que j'ai reçu, En premier lieu

        .followRedirects(true)

Il semble que cette existence seule était bonne.

Recommended Posts

Analyser la page redirigée (Jsoup utilise l'emplacement pour l'écran de transition)
Je souhaite passer au même écran dans l'état enregistré
[Rails] Comment empêcher la transition d'écran
Comment changer l'affichage du menu d'en-tête pour chaque page de transition
Comment passer la valeur à un autre écran
Correction de l'écran de visualisation de la page de publication
[Erreur] Comment résoudre le phénomène selon lequel l'écran ne passe pas après l'édition