Comment publier et obtenir des données-JSOUP JAVA


Les gars que j'essaie d'envoyer la méthode post à https://www.servientrega.com/wps/portal/Colombia/transacciones-personas/rastreo-envios et obtenir les résultats de tracke et trace. Je dois envoyer ce numéro par exemple: 2003159943. Ceci est mon code:

Connection.Response Form = Jsoup
       .connect("https://www.servientrega.com/wps/portal/Colombia/transacciones-personas/rastreo-envios")
        .validateTLSCertificates(false)
        .method(Connection.Method.GET)
        .execute();

        Document document = Jsoup
        .connect("https://www.servientrega.com/wps/portal/Colombia/transacciones-personas/rastreo-envios")
        .validateTLSCertificates(false)
        .data("txtNumGuia", "2003159943")
        .cookies(Form.cookies())
        .post();

J'ai besoin d'obtenir cet historique: Image avec les données que je veux

Mais je reçois cela quand j'ai essayé println (document):

L'Image avec le résultat que j'ai obtenu

Entrez la description de l'image ici

Author: Germán, 2018-04-23

1 answers

Les données que vous souhaitez obtenir sont définies par javascript après le téléchargement de la page. Jsoup n'exécute pas javascript, il télécharge uniquement le html initial.

Si vous examinez les connexions effectuées, par exemple avec les outils de débogage du navigateur, vous découvrirez que les données sont téléchargées avec une demande à l'api: https://web.servientrega.com/PortalServientrega/WebServicePortal/tracking/api/envio/2003159943/1/es

Les données que vous recherchez doivent être réponse.

Document document = Jsoup.connect("https://web.servientrega.com/PortalServientrega/WebServicePortal/tracking/api/envio/2003159943/1/es")
                         .validateTLSCertificates(false) 
                         .ignoreContentType(true) 
                         .get(); 
System.out.println(document.text());
 0
Author: Luk, 2018-04-25 15:22:10